全部產品
Search
文件中心

ApsaraVideo VOD:初始化

更新時間:Jul 13, 2024

Python SDK可通過AccessKey或STS Security Token初始化。您可以根據需求選擇初始化方式。本文介紹兩種初始化的操作流程。

背景資訊

ApsaraVideo for VOD服務端SDK提供兩種初始化方式。AccessKey方式根據授權策略擷取對應許可權,啟用後一直有效,建議在服務端使用。STS Security Token方式根據授權策略擷取相應許可權後,可以自訂到期時間。

前提條件

  • 您已經安裝了ApsaraVideo for VOD服務端Python SDK。安裝方法,請參見安裝

  • 已建立RAM使用者並完成授權。具體操作,請參見建立RAM使用者並授權

  • 已配置環境變數ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET。具體操作,請參見在Linux、macOS和Windows系統配置環境變數

    重要
    • 阿里雲帳號的AccessKey擁有所有API的存取權限,建議您使用RAM使用者的AccessKey進行API訪問或日常營運。

    • 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。

  • 您已經知曉服務接入地區,例如:接入地區在上海,請使用cn-shanghai。點播服務的接入地區請參見接入地區和標識

AccessKey初始化

調用服務端介面需要使用AccessKey完成身分識別驗證,請提前擷取AccessKey。擷取方法請參見建立AccessKey

填入帳號AccessKey資訊,進行初始化。樣本如下:

# -*- coding: UTF-8 -*-
import json
import traceback
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.auth.credentials import AccessKeyCredential

# 讀取AccessKey資訊
def init_vod_client():
    regionId = 'cn-shanghai'   # 點播服務接入地區
    connectTimeout = 3         # 連線逾時,單位為秒
    // 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
    // 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
    // 本樣本通過從環境變數中讀取AccessKey,來實現API訪問的身分識別驗證。運行程式碼範例前,請配置環境變數ALIBABA_CLOUD_ACCESS_KEY_ID和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初始化

使用STS方式進行初始化,需要提前準備好STS Token。擷取方法,請參見STS訪問授權

填入STS資訊,進行初始化。樣本如下:

# -*- coding: UTF-8 -*-
import json
import traceback
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.auth.credentials import StsTokenCredential

# 讀取STS資訊
def init_vod_client(accessKeyId, accessKeySecret, securityToken):
    regionId = 'cn-shanghai'   # 點播服務接入地區
    connectTimeout = 3         # 連線逾時,單位為秒
    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)