【问题标题】:How to specify filters for Azure Compute's C# client?如何为 Azure Compute 的 C# 客户端指定筛选器?
【发布时间】:2020-04-26 13:34:50
【问题描述】:

我正在尝试使用Microsoft.Azure.Management.ComputeComputeManagementClient 来查询ResourceSKUs。但我无法为过滤器参数提供正确的值。如果没有过滤器,响应会非常大,我想通过使用 resourceType = virtualMachines 进行过滤来减少它。

更具体地说,这是我的代码:

ComputeManagementClient computeManagementClient = new ComputeManagementClient(credentials);
computeManagementClient.SubscriptionId = "**********";
string filter = "resourceType eq 'virtualMachines'";  // Doesn't work. All results are returned.
// string filter = "$filter=resourceType eq 'virtualMachines'";  // Doesn't work. All results are returned.
// string filter = "resourceType eq virtualMachines";  // Doesn't work. All results are returned.
// string filter = "resourceType eq 'Microsoft.Compute/virtualMachines'";  // Doesn't work. All results are returned.
// string filter = "resourceType = 'virtualMachines'";  // Doesn't work. All results are returned.
// string filter = "resourceType='virtualMachines'";  // Doesn't work. All results are returned.
IPage<ResourceSku> resourceSkus = await computeManagementClient.ResourceSkus.ListAsync(filter: filter);

我也尝试使用OData.FilterString.Generategenerate 过滤字符串:

Expression<Func<ResourceSku, bool>> filterPredicate = x => x.ResourceType.Equals("virtualMachines", StringComparison.OrdinalIgnoreCase);
string filter = FilterString.Generate(filterPredicate);
IPage<ResourceSku> resourceSkus = await computeManagementClient.ResourceSkus.ListAsync(filter: filter);

知道正确的格式是什么吗?

【问题讨论】:

  • 谢谢!听起来他们现在只支持按位置参数过滤。
  • 我想是的。 Azure feedback 表示该 api 仅支持按位置过滤
  • 您还有其他顾虑吗?如果您没有其他顾虑,您能接受答案吗?它可能会帮助更多的人。
  • 更新:我在github 上将此作为错误提交。它现在被标记为关闭,提到这是一个功能请求。如果您希望支持此功能,请为该功能投票here

标签: c# azure azure-virtual-machine azure-management-api azure-rest-api


【解决方案1】:

根据我的研究,ResourceSkus API 只支持按地区过滤。更多详情请参考feedbackarticle

【讨论】:

    猜你喜欢
    • 2022-11-10
    • 2012-07-14
    • 2011-01-04
    • 2012-04-21
    • 1970-01-01
    • 2011-08-09
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多