このトピックでは、サーバー SDK を使用して API オペレーションを呼び出し、メディアアセットをアップロードするための URL と認証情報を取得するために使用されるサンプルコードについて説明します。
サンプルコード
Alibaba Cloud OpenAPI Explorer を使用して、オンラインデバッグを実行できます。
import json
import os
import sys
from typing import List
from alibabacloud_ice20201109.client import Client as ICE20201109Client
# Alibaba Cloud IMS SDK をインポートします。
from alibabacloud_ice20201109 import models as ice20201109_models
# クラウドサービスの認証情報と SDK のクライアントをインポートし、クライアントのエイリアスを作成します。
from alibabacloud_credentials.client import Client as CredClient
# Alibaba Cloud 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:
# デフォルトの認証情報を使用して、認証情報クライアントを初期化します。
cred = CredClient()
config = Config(credential = cred)
# クラウドサービスのエンドポイントを指定します。
config.endpoint = 'ice.' + region + '.aliyuncs.com'
# 認証情報クライアントを使用して、ECS SDK クライアントを初期化します。
return ICE20201109Client(config)
# @staticmethod
# def create_client(
# access_key_id: str,
# access_key_secret: str,
# region: str,
# ) -> ICE20201109Client:
# AccessKey ID と AccessKey シークレットをハードコードするには、次のコードを使用します。ただし、AccessKey ID と AccessKey シークレットをプロジェクトコードに保存しないことをお勧めします。保存すると、AccessKey ペアが漏洩し、アカウント内のリソースのセキュリティが侵害される可能性があります。
# config = open_api_models.Config(
# # 必須。AccessKey ID を指定します。
# access_key_id = access_key_id,
# # 必須。AccessKey シークレットを指定します。
# 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()