Azure REST API - query parameters for getting all the virtual machine

后端 未结 2 1148
北荒
北荒 2021-01-16 16:45

I want to query all the virtual Machines in a subscription, but I want to be able to filter using a query param and not by code.

I am able to get all the virtual ma

相关标签:
2条回答
  • 2021-01-16 17:24

    If this is the API you use:

    https://management.azure.com/subscriptions/{subscription-id}/resources?&api-version={api-version}
    

    then you can use filter like this:

    ?$filter={filter}
    

    Your request will look like this:

    https://management.azure.com/subscriptions/{subscription-id}/resources?$filter=name eq {resourcename}&api-version={api-version}
    

    $filter is optional and is used to filter results. Replace {filter} with one of the following values:

    $filter=tagname eq {value}
    $filter=tagname eq {tagname} and tagvalue eq {tagvalue}
    $filter=startswith(tagname, {tagname prefix})
    $filter=resourceType eq {resourceProviderNamespace/resourceType}
    $filter=name eq {resourcename}
    $filter=location eq {locationname}
    

    Currently, you cannot use the tagname or tagvalue filters with other filters; such as, name, location, or resourceType.

    To get all the Resources of type VM you can use a filter like this:

    $filter=resourceType eq {Microsoft.Compute/virtualMachines}
    

    For more info:

    https://msdn.microsoft.com/en-us/library/azure/dn790569.aspx

    0 讨论(0)
  • 2021-01-16 17:34

    I would add one change on @Aram's answer. An example for a filter would have to include single quotes, like:

    https://management.azure.com/subscriptions/{subscription-id}/resources?$filter=name eq 'some_name'&api-version={api-version}
    

    So possible filters would be:

    $filter=tagname eq 'value'
    $filter=tagname eq 'tagname' and tagvalue eq 'tagvalue'
    $filter=resourceType eq 'resourceProviderNamespace/resourceType'
    
    0 讨论(0)
提交回复
热议问题