我正在尝试使用REST API从Azure RM获取过滤的响应。类型过滤器正在工作,但是当我尝试使用位置过滤器时,它总是强加为错误的查询过滤器。
例如,我需要从位置"ukwest"获取虚拟网络,我给出了以下REST API链接,它永远不会起作用。
https://management.azure.com/subscriptions/subscription_ID/providers/Microsoft.Network/virtualnetworks?$filter=location%20eq%20'ukwest'&api-version=2017-06-01
但是根据这种类型的过滤器工作, Azure REST API - 用于获取所有虚拟机的查询参数
我在Azure中没有找到与此相关的任何文档,如果我在这里得到一些火花就好了。
查看列出 Azure 订阅here
中所有虚拟网络的 REST API 文档,我认为不支持$filter
条件。
您需要做的是使用Resource Manager API
获取所有资源并按资源类型和位置进行过滤(如您链接的答案中所述(。因此,您的请求 URL 将是:
https://management.azure.com/subscriptions/{subscription-id}/resources?$filter=resourceType%20eq%20'Microsoft.Network/virtualnetworks'%20and%20location eq%20'ukwest'&api-version={api-version}
试一试。