Este tópico descreve como inicializar o SDK do ApsaraVideo VOD para Python usando um par de AccessKey ou um token do Security Token Service (STS). Escolha o método que melhor atenda aos requisitos do seu negócio.
Informações de contexto
Há duas maneiras de inicializar os SDKs do ApsaraVideo VOD. A primeira é usar o par de AccessKey de uma conta Alibaba Cloud ou de um usuário RAM com as permissões necessárias concedidas com base em políticas de autorização. Esse par de AccessKey permanece válido após a criação da conta ou do usuário RAM e é o método recomendado para uso no servidor. A segunda é usar um token STS, que também requer permissões concedidas com base em políticas de autorização, mas permite especificar um período de validade.
Pré-requisitos
Instale o SDK do ApsaraVideo VOD para Python. Para mais informações, consulte Installation.
crie um usuário RAM e conceda as permissões necessárias. Para mais informações, consulte Create a RAM user and grant permissions.
-
Configure as variáveis de ambiente ALIBABA_CLOUD_ACCESS_KEY_ID e ALIBABA_CLOUD_ACCESS_KEY_SECRET. Para mais informações, consulte Configure environment variables on Linux, macOS, and Windows.
ImportanteO par de AccessKey de uma conta Alibaba Cloud tem permissões para todas as operações de API. Use o par de AccessKey de um usuário RAM para chamar operações de API ou execute tarefas rotineiras de O&M.
Não salve seu AccessKey ID e AccessKey secret diretamente no código do projeto. Em caso de vazamento, todos os recursos da sua conta ficarão comprometidos.
especifique uma região para usar o ApsaraVideo VOD. Por exemplo, ao usar o ApsaraVideo VOD na região China (Shanghai), o ID da região é
cn-shanghai. Para mais informações, consulte VOD centers and endpoints.
Inicializar o SDK com um par de AccessKey
Obtenha um par de AccessKey para verificar a identidade e chamar as operações de API do ApsaraVideo VOD. Para mais informações sobre como obter um par de AccessKey, consulte Create an AccessKey pair.
Use o par de AccessKey para inicializar o SDK. Código de exemplo:
# -*- coding: UTF-8 -*-
import json
import traceback
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.auth.credentials import AccessKeyCredential
# Obtain the AccessKey information.
def init_vod_client():
regionId = 'cn-shanghai' # The region in which ApsaraVideo VOD is activated.
connectTimeout = 3 # The timeout period. Unit: seconds.
// The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. We recommend that you use a RAM user to call API operations or perform routine O&M.
// We recommend that you do not save your AccessKey pair (AccessKey ID and AccessKey secret) in your project code. Otherwise, the AccessKey pair may be leaked. As a result, the security of all resources within your account is compromised.
// In this example, ApsaraVideo VOD reads the AccessKey pair from the environment variables to implement identity verification for API access. Before you run the sample code, configure the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET.
credentials = AccessKeyCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'])
return AcsClient(region_id=regionId, credential=credentials)
Inicializar o SDK com um token STS
Obtenha um token STS para inicializar o SDK. Para mais informações sobre como obter um token STS, consulte a seção "Use STS to authorize access" do tópico Create a role and grant temporary access permissions to the role by using STS.
Use um token STS para inicializar o SDK. Código de exemplo:
# -*- coding: UTF-8 -*-
import json
import traceback
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.auth.credentials import StsTokenCredential
# Obtain the STS information.
def init_vod_client(accessKeyId, accessKeySecret, securityToken):
regionId = 'cn-shanghai' # The region in which ApsaraVideo VOD is activated.
connectTimeout = 3 # The timeout period. Unit: seconds.
credential = StsTokenCredential(os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'], os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'], os.environ['ALIBABA_CLOUD_SECURITY_TOKEN'])
return AcsClient(region_id=regionId, auto_retry=True, max_retry_time=3, timeout=connectTimeout, credential=credential)