简体   繁体   中英

[Azure Deployments]: Can we filter Azure Resource Group Deployments by name using c#?

I am trying to fetch the Azure Resource Group Deployments by using filter where name starting with "Deploy" but can't find any documentation on the $filter.

I tried to do something like below:

try
{
    var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret);
    var resourceClient = new ResourcesManagementClient(subscriptionId, credentials);
    var deployments = resourceClient.Deployments;
    AsyncPageable<DeploymentExtended> rgDeployments = deployments.ListByResourceGroupAsync("myRG", "name eq 'Deploy-20210412184314'");
    await foreach (DeploymentExtended deploymentProperties in rgDeployments)
    {
        Trace.WriteLine(deploymentProperties.Name);
    }
}
catch(Exception e)
{
    Trace.WriteLine(e.Message);
}

But it gives error saying -

{"error":{"code":"InvalidProvisioningStateFilter","message":"Invalid $filter 'name eq 'Deploy-20210412184314'' specified in the query string."}}

So can we only use filter like provisioningState eq '{state}' not for name?

I am using Azure Resources Management client library for .NET .

Please refer this documentation .

I am afraid you could not use the filter with name eq 'Deploy-20210412184314' , in this case, if you already knew the name of the deployment and want to get it at the resource group scope, no need to use ListByResourceGroupAsync , just use this method DeploymentsOperations.GetAsync(String, String, CancellationToken) , pass the resourceGroupName and deploymentName , you can simply get it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM