Cette rubrique explique comment initialiser le SDK ApsaraVideo VOD pour Python à l'aide d'une paire de clés AccessKey ou d'un jeton Security Token Service (STS). Choisissez la méthode adaptée à vos besoins métier.
Contexte
Deux méthodes permettent d'initialiser les SDK ApsaraVideo VOD. La première consiste à utiliser la paire de clés AccessKey d'un compte Alibaba Cloud ou d'un utilisateur RAM disposant des autorisations requises, conformément aux politiques d'autorisation. Cette paire de clés reste valide après la création du compte ou de l'utilisateur. Nous vous recommandons cette méthode pour les serveurs. La seconde méthode utilise un jeton STS auquel les autorisations nécessaires ont été accordées via des politiques d'autorisation. Vous pouvez définir la durée de validité du jeton STS.
Prérequis
Le SDK ApsaraVideo VOD pour Python est installé. Pour plus d'informations, consultez la section Installation.
Un utilisateur RAM a été créé et dispose des autorisations requises. Pour plus d'informations, consultez la section Créer un utilisateur RAM et lui accorder des autorisations.
-
Configurez les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET. Pour plus d'informations, consultez la section Configurer les variables d'environnement sous Linux, macOS et Windows.
ImportantUne paire de clés AccessKey associée à un compte Alibaba Cloud dispose d'autorisations sur toutes les opérations API. Utilisez la paire de clés AccessKey d'un utilisateur RAM pour appeler des opérations API ou effectuer des tâches courantes d'exploitation et de maintenance.
N'intégrez pas directement votre ID de clé AccessKey et votre secret de clé AccessKey dans le code de votre projet. En cas de fuite, toutes les ressources de votre compte seraient compromises.
Spécifiez une région pour utiliser ApsaraVideo VOD. Par exemple, si vous utilisez ApsaraVideo VOD dans la région Chine (Shanghai), l'ID de région est
cn-shanghai. Pour plus d'informations, consultez la section Centres et endpoints VOD.
Initialiser le SDK à l'aide d'une paire de clés AccessKey
Obtenez une paire de clés AccessKey afin de compléter la vérification d'identité et pouvoir appeler les opérations API ApsaraVideo VOD. Pour savoir comment obtenir une paire de clés AccessKey, consultez la section Créer une paire de clés AccessKey.
Utilisez la paire de clés AccessKey pour initialiser le SDK. Exemple de code :
# -*- 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)
Initialiser le SDK à l'aide d'un jeton STS
Obtenez un jeton STS pour initialiser le SDK. Pour savoir comment obtenir un jeton STS, consultez la section « Utiliser STS pour autoriser l'accès » de la rubrique Créer un rôle et accorder des autorisations d'accès temporaires au rôle via STS.
Utilisez un jeton STS pour initialiser le SDK. Exemple de code :
# -*- 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)