连接到媒体服务 v3 API - Python

媒体服务徽标 v3


本文介绍如何使用服务主体登录方法连接到 Azure 媒体服务 v3 Python SDK。

必备条件

  • python.org 下载 Python
  • 请确保设置 PATH 环境变量
  • 创建媒体服务帐户。 请务必记住资源组名称和媒体服务帐户名称。
  • 按照访问 API 主题中的步骤操作,选择服务主体身份验证方法。 记录后续步骤所需的订阅 ID (SubscriptionId)、应用程序客户端 ID (AadClientId)、身份验证密钥 (AadSecret) 和租户 ID (AadTenantId)。

重要

查看命名约定

安装模块

若要通过 Python 使用 Azure 媒体服务,需要安装以下模块。

打开命令行工具并使用以下命令安装这些模块。

pip3 install azure-mgmt-resource
pip3 install azure-mgmt-media==3.0.0

连接到 Python 客户端

  1. 创建扩展名为 .py 的文件

  2. 在偏好的编辑器中打开该文件

  3. 将下面的代码添加到该文件。 此代码将导入所需的模块,并创建连接到媒体服务所需的 Active Directory 凭据对象。

    将变量的值设置为从访问 API 中获得的值。 将 ACCOUNT_NAMERESOUCE_GROUP_NAME 变量更新为创建这些资源时使用的媒体服务帐户名称和资源组名称。

    import adal
    from azure.mgmt.media import AzureMediaServices
    from msrestazure.azure_active_directory import AdalAuthentication
    from msrestazure.azure_cloud import AZURE_CHINA_CLOUD
    
    RESOURCE = "https://management.core.chinacloudapi.cn/"
    # Tenant ID for your Azure Subscription (AadTenantId)
    TENANT_ID = "00000000-0000-0000-000000000000"
    # Your Service Principal App ID (AadClientId)
    CLIENT = "00000000-0000-0000-000000000000"
    # Your Service Principal Password (AadSecret)
    KEY = "00000000-0000-0000-000000000000"
    # Your Azure Subscription ID (SubscriptionId)
    SUBSCRIPTION_ID = "00000000-0000-0000-000000000000"
    # Your Azure Media Service (AMS) Account Name
    ACCOUNT_NAME = "amsaccount"
    # Your Resource Group Name
    RESOUCE_GROUP_NAME = "amsResourceGroup"
    
    LOGIN_ENDPOINT = AZURE_CHINA_CLOUD.endpoints.active_directory
    RESOURCE = AZURE_CHINA_CLOUD.endpoints.active_directory_resource_id
    
    context = adal.AuthenticationContext(LOGIN_ENDPOINT + "/" + TENANT_ID)
    credentials = AdalAuthentication(
        context.acquire_token_with_client_credentials, RESOURCE, CLIENT, KEY
    )
    
    # The AMS Client
    # You can now use this object to perform different operations to your AMS account.
    client = AzureMediaServices(credentials, SUBSCRIPTION_ID, base_url="https://management.chinacloudapi.cn")
    
    print("signed in")
    
    # Now that you are authenticated, you can manipulate the entities.
    # For example, list assets in your AMS account
    print(client.assets.list(RESOUCE_GROUP_NAME, ACCOUNT_NAME).get(0))
    
  4. 运行该文件

后续步骤