如何创建 Azure Mgmt serializer/deserializer 参数?
How to create Azure Mgmt serializer/deserializer parameters?
我可以在最新的 azure-mgmt-media 和存储 sdk 中看到 Python 用户应该为 Serializer/Deserializer 传递 2 个参数。我的 Python 经验很少,我不知道如何创建这些对象。
我找不到任何媒体示例,也找不到具有最新签名 (3-01-18) 的存储示例。我只想创建一个媒体服务资产,我不知道为什么我需要传递这些参数,因为我使用的是标准 SDK 类型。任何人都可以指出一些创建这些的例子吗?我可以找到
文档列出:
:param serializer: An object model serializer.
:param deserializer: An object model deserializer.
其中的两个例子 类 是:
azure-sdk-for-python/azure-mgmt-media/azure/mgmt/media/operations/assets_operations.py
和
azure-sdk-for-python/azure-mgmt-storage/azure/mgmt/storage/v2018_03_01_preview/operations/blob_containers_operations.py
签名是:
def init(self, client, config, serializer, deserializer):
谢谢!!!
编辑以附加我尝试创建媒体资产的问题的详细信息:
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')
}
序列化器和反序列化器是内部的类您不应该手动创建。
相反,您必须创建一个可以免费为您执行此操作的客户端。请参考此存储管理示例:
https://github.com/Azure-Samples/storage-python-manage
该示例不提供 "blob_containers" 的示例,但会概述如何使用 "accounts",同样的逻辑将适用:
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 拥有此代码)
我可以在最新的 azure-mgmt-media 和存储 sdk 中看到 Python 用户应该为 Serializer/Deserializer 传递 2 个参数。我的 Python 经验很少,我不知道如何创建这些对象。
我找不到任何媒体示例,也找不到具有最新签名 (3-01-18) 的存储示例。我只想创建一个媒体服务资产,我不知道为什么我需要传递这些参数,因为我使用的是标准 SDK 类型。任何人都可以指出一些创建这些的例子吗?我可以找到
文档列出:
:param serializer: An object model serializer.
:param deserializer: An object model deserializer.
其中的两个例子 类 是: azure-sdk-for-python/azure-mgmt-media/azure/mgmt/media/operations/assets_operations.py
和
azure-sdk-for-python/azure-mgmt-storage/azure/mgmt/storage/v2018_03_01_preview/operations/blob_containers_operations.py
签名是: def init(self, client, config, serializer, deserializer):
谢谢!!!
编辑以附加我尝试创建媒体资产的问题的详细信息:
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')
}
序列化器和反序列化器是内部的类您不应该手动创建。
相反,您必须创建一个可以免费为您执行此操作的客户端。请参考此存储管理示例: https://github.com/Azure-Samples/storage-python-manage
该示例不提供 "blob_containers" 的示例,但会概述如何使用 "accounts",同样的逻辑将适用:
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 拥有此代码)