c# - 如何为 Azure Compute 的 C# 客户端指定过滤器?
问题描述
我正在尝试使用Microsoft.Azure.Management.Compute
'sComputeManagementClient
来查询ResourceSKU。但我无法为过滤器参数提供正确的值。如果没有过滤器,响应会非常大,我想通过使用 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.Generate
生成过滤器字符串:
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);
知道什么是正确的格式吗?
解决方案
推荐阅读
- vhdl - 错误 (10454):fft_engine.vhd(151) 处的 VHDL 语法错误:范围的右边界必须是常数
- php - 如何从 1 个多维数组中创建 3 个数组,其中包含 2 个数组
- java - 将抓取的数据组织成一个数组并从数组中选择 1 或 2 个字符串
- python - Python - 如何制作参数化字符串工厂
- timezone - 将 microsoft graph 时区映射到时刻
- jquery - React js sidenav中的jQuery不起作用
- r - STAN 模型块中不存在变量“cholesky_factor_cov”
- reactjs - 对 CSS 网格或从样式组件到 CSS 问题的转换做出反应?有点不知所措
- minizinc - Minizinc SCIP Ubuntu
- python - 使用带有熊猫数据框参数的 scipy 进行优化