Python SDK可通过AccessKey或STS Security Token初始化。您可以根据需求选择初始化方式。本文介绍两种初始化的操作流程。

背景信息

视频点播服务端SDK提供两种初始化方式。AccessKey方式根据授权策略获取对应权限,启用后一直有效,建议在服务端使用。STS Security Token方式根据授权策略获取相应权限后,可以自定义过期时间。

前提条件

  • 您已经安装了视频点播服务端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)