我正在尝试调用特定版本的 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
谢谢!
我正在尝试调用特定版本的 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
谢谢!
首先,我将回答您关于 Monitor 的具体问题。这被认为是先进的,我们不能保证反序列化会起作用。raw=True
应该用于获取 JSON 并且不要尝试反序列化(raw=True
不适用于列表操作)。API 版本是操作组级别的属性:
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"
如果你真的需要调用一个 100% 保证调用会工作的旧 Api 版本,你可以使用azure-mgmt-resource
package 和 generic 调用:
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",
)
请注意,我们目前正在为包添加多 api 版本支持。这已经在azure-mgmt-(compute/resource/storage/network/containerregistry)
这些包有一个api_version
参数,这意味着您会收到基于 this 的正确类api_version
。
(我在 MS 拥有 SDK)
编辑:使用 raw=True 改进文本