如何使用特定的api版本创建Monitor Client?

时间:2017-07-10 23:38:02

标签: azure-sdk-python

我正在尝试调用特定版本的ARM API: 2017-03-01-preview

在正常的REST API调用中,您可以指定api-version=2017-03-01-preview,但我看不到使用Azure Python SDK的类似选项。

特别尝试针对此API版本创建新的Monitor Client。 http://azure-sdk-for-python.readthedocs.io/en/latest/sample_azure-monitor.html

谢谢!

1 个答案:

答案 0 :(得分:1)

首先,我将回答您关于Monitor的具体问题。这被认为是先进的,我们无法保证反序列化将起作用。应使用raw=True来获取JSON,不要尝试反序列化(raw=True不可用于列表操作)。 API Version是操作组级别的属性:

client = MonitorClient(**parameters)
# 2015-05-05 for instance (fake value, I don't know monitor Api Version history)
client.metric_definitions.api_version = "2015-05-05" 

如果您真的需要拨打旧的Api版本,并且100%保证通话有效,您可以使用azure-mgmt-resource套餐和通用电话:

    get_result = self.resource_client.resources.get(
        resource_group_name=group_name,
        resource_provider_namespace="Microsoft.Compute",
        parent_resource_path="",
        resource_type="availabilitySets",
        resource_name=resource_name,
        api_version="2015-05-01-preview",
    )

请注意,我们目前正在向包中添加multi-api版本支持。 azure-mgmt-(compute/resource/storage/network/containerregistry)

已经支持此功能

这些包具有api_version参数,这意味着您会根据此api_version收到正确的类。

(我在MS拥有SDK)

编辑:使用raw = True

改进文本