如何创建Azure Mgmt序列化器/反序列化器参数?

时间:2018-07-06 21:19:54

标签: python azure-media-services azure-sdk-python

我可以在Python的最新azure-mgmt-media和存储sdk中看到,期望用户为Serializer / Deserializer传递2个参数。我对Python的了解很少,我不知道如何创建这些对象。

我找不到任何具有最新签名(3-01-18)的媒体示例和存储示例。我只想创建一个媒体服务资产,但是我不知道为什么我需要传递这些参数,因为我使用的是标准SDK类型。谁能指出创建这些示例的例子?我可以找到

文档列表:

:param serializer: An object model serializer.
:param deserializer: An object model deserializer.

这些类的两个示例是: 用于Python / azure-mgmt-media / azure / mgmt / media / operations / assets_operations.py

的azure-sdk-for

azure-sdk-for-python / azure-mgmt-storage / azure / mgmt / storage / v2018_03_01_preview / operations / blob_containers_operations.py

签名是: def init (自身,客户端,配置,序列化器,反序列化器):

谢谢!

经过编辑以附加有关尝试创建媒体资产的问题的详细信息:

import azure.mgmt.media as azuremedia
client = azuremedia.AzureMediaServices(credentials,
                                            subscription_id)
assetOper = operations.AssetsOperations(client, client.config, 
               client._serialize, client._deserialize)
asset = assetOper.create_or_update(resource_group_name=resourceGroup,
                                               account_name=accountName,
                                               asset_name=assetName,
                                               parameters=None)

^,但是create_or_update方法使用下面的代码,并且我的客户端的_serialize没有url属性,因此会崩溃!

在create_or_update方法的顶部:

path_format_arguments = {
        'subscriptionId': self._serialize.url("self.config.subscription_id",                 self.config.subscription_id, 'str'),
        'resourceGroupName': self._serialize.url("resource_group_name",             resource_group_name, 'str'),
        'accountName': self._serialize.url("account_name", account_name, 'str'),
        'assetName': self._serialize.url("asset_name", asset_name, 'str')
    }

1 个答案:

答案 0 :(得分:0)

Serializer和Deserializer是您不应该手动创建的内部类。

相反,您必须创建一个免费为您执行此操作的客户端。请参考此存储管理示例: https://github.com/Azure-Samples/storage-python-manage

该示例未提供“ blob_containers”的示例,但将为您提供有关如何使用“帐户”的概述,并且将应用相同的逻辑:

client.blobs_containers.get(rg_name, account_name, container_name)

您可能也应该在SDK上做一个简短的教程: https://docs.microsoft.com/en-us/python/azure/python-sdk-azure-get-started?view=azure-python

尚无用于媒体的样本,但适用相同的逻辑。

(我在MS拥有此代码)