すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:初期化

最終更新日:Oct 28, 2024

このトピックでは、AccessKeyペアまたはSecurity Token Service (STS) トークンを使用してApsaraVideo VOD SDK for Pythonを初期化する方法について説明します。 ビジネス要件に基づいてどちらの方法も使用できます。

背景情報

ApsaraVideo VOD SDKは、2つの異なる方法を使用して初期化できます。 権限付与ポリシーに基づいて必要な権限が付与されたAlibaba CloudアカウントまたはRAMユーザーのAccessKeyペアを使用してSDKを初期化できます。 AccessKeyペアは、Alibaba CloudアカウントまたはRAMユーザーの作成後も有効です。 サーバーでこの方法を使用することを推奨します。 または、権限付与ポリシーに基づいて必要な権限が付与されたSTSトークンを使用してSDKを初期化できます。 STSトークンの有効期間を指定できます。

前提条件

  • ApsaraVideo VOD SDK for Pythonがインストールされています。 詳細については、「インストール」をご参照ください。

  • RAM (Resource Access Management) ユーザーが作成され、必要な権限がRAMユーザーに付与されます。 詳細については、「Create and grant permissions to a RAM user」をご参照ください。

  • ALIBABA_CLOUD_ACCESS_KEY_IDおよびALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数を設定します。 詳細については、「Linux、macOS、およびWindowsでの環境変数の設定」をご参照ください。

    重要
    • Alibaba CloudアカウントのAccessKeyペアには、すべてのAPI操作に対する権限があります。 RAMユーザーのAccessKeyペアを使用して、API操作を呼び出したり、ルーチンのO&Mを実行したりすることを推奨します。

    • AccessKey IDとAccessKeyシークレットをプロジェクトコードにハードコードしないことを推奨します。 そうしないと、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。

  • ApsaraVideo VODを使用するリージョンが指定されています。 たとえば、中国 (上海) リージョンでApsaraVideo VODを使用している場合、リージョンIDはcn-Shanghaiです。 詳細については、「VODセンターとエンドポイント」をご参照ください。

AccessKeyペアを使用してSDKを初期化する

ApsaraVideo VOD API操作を呼び出すことができるように、AccessKeyペアを取得してID検証を完了します。 AccessKey ペアを取得する方法の詳細については、「AccessKey ペアの取得」をご参照ください。

AccessKeyペアを使用してSDKを初期化します。 サンプルコード:

# -*- 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)

STSトークンを使用してSDKを初期化する

SDKを初期化するためにSTSトークンが取得されます。 STSトークンを取得する方法の詳細については、「STSを使用してロールを作成し、ロールに一時的なアクセス許可を付与する」トピックの「STSを使用してアクセスを許可する」セクションを参照してください。

STSトークンを使用してSDKを初期化します。 サンプルコード:

# -*- 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)