Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Excluir arquivos de mídia

Última atualização: Jun 27, 2026

O ApsaraVideo VOD permite excluir arquivos de mídia para gerenciar custos de armazenamento ou remover conteúdo expirado ou não compatível. Este tópico descreve os diferentes tipos de operações de exclusão e seus impactos, além de fornecer instruções sobre como excluir arquivos de mídia com segurança e eficiência pelo console, API ou kit de desenvolvimento de software (SDK).

Como funciona

Antes de excluir arquivos, entenda o funcionamento da operação e seus riscos potenciais para evitar perda irreversível de dados.

Aviso

Todas as operações de exclusão são físicas. O sistema remove permanentemente os arquivos e as informações de ativos de mídia associadas, sem possibilidade de recuperação. Para fazer backup dos seus arquivos, consulte Migrar recursos do ApsaraVideo VOD.

Tipo de exclusão

Conteúdo excluído

Impacto na reprodução

Áudio ou vídeo completo

Arquivo source, todos os streams transcodificados, miniaturas e sprites.

Impossibilidade de reproduzir o vídeo ou áudio.

Streams de áudio e vídeo

Arquivo transcodificado de uma definição específica.

Impossibilidade de reproduzir a definição específica. Pode causar erro no player.

Arquivo source

Arquivo original enviado.

Impossibilidade de reproduzir a versão com qualidade original.

Imagem

Arquivo de imagem.

Impossibilidade de exibir um vídeo como miniatura.

Nota
  • Após a exclusão de um arquivo de mídia do ApsaraVideo VOD, o cache nos pontos de presença (POPs) da CDN não é limpo automaticamente. Use o recurso de limpeza no console do ApsaraVideo VOD para remover dados obsoletos dos POPs da CDN. Para obter mais informações, consulte Atualizar e pré-carregar.

  • Por padrão, não é possível excluir um arquivo source de áudio ou vídeo enviado para distribuição sem transcodificação, pois ele é usado para reprodução com qualidade original. Para excluir o arquivo, chame a operação DeleteMezzanines e especifique o parâmetro Force.

Cenário 1: Exclua arquivos pelo console

O console oferece uma interface intuitiva, ideal para excluir poucos arquivos.

  1. Faça login no console do ApsaraVideo VOD.

  2. No painel de navegação à esquerda, escolha Media Assets e clique em Audio/Video, Image ou Short Video Material.

  3. Na página de gerenciamento, localize o arquivo desejado e clique em Delete na coluna Actions.

    删除

Cenário 2: Exclua arquivos via API ou SDK

Excluir arquivos de mídia pela API ou pelo SDK proporciona maior flexibilidade e automação. Esta é a solução recomendada para gerenciar muitos ativos de mídia em ambientes de produção.

Nota
  • Verifique se você instalou o SDK para a linguagem desejada e inicializou o cliente. Para obter mais informações, consulte SDKs do lado do servidor.

  • Ao chamar uma operação de API para excluir arquivos de mídia, observe o limite de consultas por segundo (QPS). Se o limite de QPS for excedido, a chamada de API falhará. Para obter mais informações, consulte Limitação de taxa.

Exclua um ou mais vídeos completos

Este é o cenário mais comum. Chame a operação DeleteVideo para excluir todos os recursos relacionados a um vídeo, como arquivo source, streams transcodificados e snapshots. O código a seguir fornece um exemplo.

pythonfrom aliyunsdkvod.request.v20170321 import DeleteVideoRequest
from aliyunsdkcore.client import AcsClient
import json

def delete_video_safely(video_ids: str, access_key: str, secret_key: str, region='cn-shanghai'):
    """
    Safely delete one or more videos.
    
    Args:
        video_ids: The IDs of the videos. Separate multiple IDs with commas.
        access_key: The AccessKey ID.
        secret_key: The AccessKey secret.
        region: The region.
    
    Returns:
        dict: A dictionary that indicates whether the call was successful and includes any error messages.
    """
    try:
        # 1. Initialize the client.
        client = AcsClient(access_key, secret_key, region)
        
        # 2. Create a delete request.
        request = DeleteVideoRequest.DeleteVideoRequest()
        request.set_VideoIds(video_ids)
        
        # 3. Execute the deletion.
        response = client.do_action_with_exception(request)
        result = json.loads(response)
        
        print(f"Delete request for videos {video_ids} submitted. RequestID: {result.get('RequestId')}")
        return {"success": True, "data": result}
        
    except Exception as e:
        error_msg = str(e)
        print(f"Deletion failed: {error_msg}")
        
        # Common error handling
        if "InvalidVideo.NotFound" in error_msg:
            return {"success": False, "error": "The video does not exist or has been deleted."}
        elif "Forbidden.IllegalStatus" in error_msg:
            return {"success": False, "error": "The video cannot be deleted due to its current status. It may be undergoing transcoding."}
        elif "Throttling" in error_msg:
            return {"success": False, "error": "The request is too frequent. Please try again later."}
        else:
            return {"success": False, "error": f"Unknown error: {error_msg}"}

# Example usage
# result = delete_video_safely(
#     video_ids="your-video-id-1,your-video-id-2",
#     access_key="your-access-key", 
#     secret_key="your-secret-key"
# )

Exclua streams de vídeo de uma definição específica

Chame a operação DeleteStream. Use este recurso quando precisar remover apenas uma definição específica e manter as demais. O código a seguir fornece um exemplo.

pythonfrom aliyunsdkvod.request.v20170321 import DeleteStreamRequest
# ... (Reuse the AcsClient initialization from the previous example)

def delete_specific_stream(video_id: str, job_ids: str, access_key: str, secret_key: str):
    """
    Delete the transcoded stream of a specific definition.
    
    Args:
        video_id: The video ID.
        job_ids: The list of transcoding job IDs. Separate multiple IDs with commas.
    """
    try:
        client = AcsClient(access_key, secret_key, 'cn-shanghai')
        request = DeleteStreamRequest.DeleteStreamRequest()
        request.set_VideoId(video_id)
        request.set_JobIds(job_ids)
        
        response = client.do_action_with_exception(request)
        print(f"The specified definition stream for video {video_id} was deleted.")
        return json.loads(response)
        
    except Exception as e:
        print(f"Failed to delete the stream: {e}")
        raise

# Example: Assume you have obtained the JobId 'job-id-for-4k' for the '4K' definition by calling GetPlayInfo.
# delete_specific_stream(
#     video_id="your-video-id",
#     job_ids="job-id-for-4k",
#     access_key="your-access-key",
#     secret_key="your-secret-key"
# )

Forçar exclusão de um arquivo source

Chame a operação DeleteMezzanines. Esta operação exclui apenas o arquivo original enviado, mas mantém os arquivos de stream transcodificados. O código a seguir fornece um exemplo.

Importante

A exclusão do arquivo source torna a reprodução com qualidade original indisponível. Após a exclusão, não é possível transcodificar o vídeo novamente. Use esta operação somente após confirmar que o arquivo source não é mais necessário.

pythonfrom aliyunsdkvod.request.v20170321 import DeleteMezzaninesRequest
# ... (Reuse the AcsClient initialization from the previous example)

def force_delete_source_file(video_ids: str, access_key: str, secret_key: str):
    """
    Force delete the source file.
    
    Args:
        video_ids: The list of video IDs. Separate multiple IDs with commas.
    """
    try:
        client = AcsClient(access_key, secret_key, 'cn-shanghai')
        request = DeleteMezzaninesRequest.DeleteMezzaninesRequest()
        request.set_VideoIds(video_ids)
        request.set_Force(True)  # Force delete flag
        
        response = client.do_action_with_exception(request)
        print("Source file force deleted successfully.")
        print("Purge the CDN cache immediately to prevent 404 errors during original quality playback.")
        return json.loads(response)
        
    except Exception as e:
        print(f"Force deletion failed: {e}")
        raise

# force_delete_source_file(
#     video_ids="your-video-id",
#     access_key="your-access-key",
#     secret_key="your-secret-key"
# )

Exclua arquivos de imagem

Para excluir imagens enviadas ou snapshots de vídeo, chame a operação DeleteImage.