通过阅读本文,您可以了解通过服务端SDK调用OpenAPI管理智能媒体服务内容库的示例代码。

前提条件

您已经初始化IMS Python SDK。具体操作,请参见安装Python SDK

示例代码

您可以通过阿里云OpenAPI开发者门户在线调试。

from alibabacloud_ice20201109 import models
from alibabacloud_ice20201109.client import Client
from alibabacloud_tea_openapi.models import Config

def init_ice_client_ak(access_key_id, access_key_secret):
    endpoint = "ice.cn-shanghai.aliyuncs.com"
    region_id = 'cn-shanghai'  # 智能媒体服务接入区域
    connect_timeout = 3000  # 连接超时,单位为毫秒
    config = Config(
        access_key_id=access_key_id,
        access_key_secret=access_key_secret,
        region_id=region_id,
        endpoint=endpoint,
        connect_timeout=connect_timeout,
        type='access_key'
    )
    return Client(config)

def main():
    client = init_ice_client_ak('<your-access-key>', '<your-access-secret>')

    # 注册内容库资源
    request = models.RegisterMediaInfoRequest()
    request.input_url = 'http://example-bucket.oss-cn-shanghai.aliyuncs.com/example.mp4'
    request.media_type = 'video'
    request.business_type = 'video'
    request.title = 'default_title'

    response = client.register_media_info(request)
    print(response)
    print('request id:', response.body.request_id)
    print('media info:', response.body.media_id)

    # 获取媒资内容信息
    request = models.GetMediaInfoRequest()
    # get media info by mediaId
    request.media_id = '****20b48fb04483915d4f2cd8ac****'
    # get media info by inputUrl
    # request.input_url = 'http://example-bucket.oss-cn-shanghai.aliyuncs.com/example.mp4'

    response = client.get_media_info(request)
    print(response)
    print('request id:', response.body.request_id)
    print('media info:', response.body.media_info)

    # 更新媒体信息
    request = models.GetMediaInfoRequest()
    # get media info by mediaId
    request.media_id = '****20b48fb04483915d4f2cd8ac****'
    # get media info by inputUrl
    # request.input_url = 'http://example-bucket.oss-cn-shanghai.aliyuncs.com/example.mp4'

    response = client.get_media_info(request)
    print(response)
    print('request id:', response.body.request_id)
    print('media info:', response.body.media_info)

    # 删除媒资信息
    request = models.DeleteMediaInfosRequest()
    # delete media info by mediaId
    request.media_ids = '****20b48fb04483915d4f2cd8ac****,****81539d420bb04d8ac4f48f2c****'
    # delete media info by inputUrl
    # request.input_urls = 'http://example-bucket.oss-cn-shanghai.aliyuncs.com/example.mp4,http://example-bucket.oss-cn-shanghai.aliyuncs.com/example2.mp4'

    response = client.delete_media_infos(request)
    print(response)
    print('request id:', response.body.request_id)
    print('ignored list:', response.body.ignored_list)

    # 列出媒资基础信息
    request = models.ListMediaBasicInfosRequest()
    # set start time (exclusive)
    request.start_time = '2020-12-20T12:00:00Z'
    # set end time (inclusive)
    request.end_time = '2020-12-20T13:00:00Z'
    # set max return entries
    request.max_results = 5

    response = client.list_media_basic_infos(request)
    print(response)
    print('request id:', response.body.request_id)
    print('media info list:', response.body.media_infos)
    print('next token', response.body.next_token)
    print('max results', response.body.max_results)

if __name__ == '__main__':
    main()          

相关接口