2017-07-21 42 views
2

我正在尝试使用REST API从Azure RM中获取过滤响应。 Type过滤器正在工作,但是当我尝试使用Location过滤器时,它始终强加为错误的查询过滤器。Azure REST API位置过滤器

例如,我需要从Location'ukwest'获得虚拟网络我正在给出以下REST API链接,它从不起作用。

https://management.azure.com/subscriptions/subscription_ID/providers/Microsoft.Network/virtualnetworks?$滤芯的位置%20当量%20'ukwest” & API版本= 2017年6月1日

但根据这种类型的过滤工作, Azure REST API - query parameters for getting all the virtual machine

我没有找到任何在Azure中与此相关的文档如果我在这里获得一些火花,那将会很好。

+0

您是否在尝试按位置进行过滤时收到错误消息?请更新您的问题以包含该信息。 –

+0

@GauravMantri我正在查询过滤器“location eq'ukwest'”是一个无效的过滤器查询字符串。 –

回答

1

查看REST API文档以列出Azure订阅中的所有虚拟网络here,我相信$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} 

请试试看。

+0

感谢它的工作!我在哪里可以获得我将在URI中提供的资源类型列表?如资源组,可用性集,安全组等。 –

+0

请参阅此链接:https://docs.microsoft.com/en-us/rest/api/resources/providers#Providers_List。 HTH。 –

+0

谢谢兄弟!你节省了我的时间。 –