我可以在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')
}
答案 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拥有此代码)