通過閱讀本文,您將瞭解通過服務端SDK調用OpenAPI擷取媒資上傳地址和憑證的範例程式碼。
範例程式碼
您可以通過阿里雲OpenAPI開發人員門戶線上調試。
import json
import os
import sys
from typing import List
from alibabacloud_ice20201109.client import Client as ICE20201109Client
# 引入阿里雲IMS SDK
from alibabacloud_ice20201109 import models as ice20201109_models
# Credentials和雲產品SDK都需引入Client,此處為建立別名
from alibabacloud_credentials.client import Client as CredClient
# 引入阿里雲SDK核心包
from alibabacloud_tea_openapi.models import Config
#######需要的依賴#############
#pip install alibabacloud_credentials
#pip install alibabacloud_ice20201109==1.3.11
class Sample:
# 初始化用戶端
@staticmethod
def create_client(region: str) -> ICE20201109Client:
# 使用預設憑證初始化Credentials Client
cred = CredClient()
config = Config(credential = cred)
# 配置雲產品服務接入地址(endpoint)
config.endpoint = 'ice.' + region + '.aliyuncs.com'
# 使用Credentials Client初始化ECS Client
return ICE20201109Client(config)
# @staticmethod
# def create_client(
# access_key_id: str,
# access_key_secret: str,
# region: str,
# ) -> ICE20201109Client:
# 如需寫入程式碼AccessKey ID和AccessKey Secret,代碼如下,但強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全
# config = open_api_models.Config(
# # 必填,您的 AccessKey ID,
# access_key_id = access_key_id,
# # 必填,您的 AccessKey Secret,
# access_key_secret = access_key_secret
# )
# # 訪問的網域名稱
# config.endpoint = 'ice.' + region + '.aliyuncs.com'
# return ICE20201109Client(config)
# 讀取命令列參數
@staticmethod
def main() -> None:
region = 'cn-shanghai'
# 初始化用戶端
client = Sample.create_client(region)
request = ice20201109_models.CreateUploadMediaRequest(
file_info='{"Type":"video","Name":"test","Size":123,"Ext":"mp4"}',
media_meta_data='{"Title":"UploadTest","Description":"UploadTest","BusinessType":"general"}',
upload_target_config='{"StorageType":"oss","StorageLocation":"outin-xxxxxx.oss-' + region + '.aliyuncs.com"}'
)
response = client.create_upload_media(request)
print('[LOG]', json.dumps(response.to_map()))
if __name__ == '__main__':
Sample.main()