使用"为空"检索价格时不起作用

时间:2017-11-09 13:53:17

标签: ibm-cloud-storage

我正在尝试获取通用的性能块存储的价格项(不是特定于某个数据中心)。我可以看到这些将locationGroupId设置为空或null,但我似乎无法使用objectFilter来处理它,查询什么都不返回。如果我省略locationGroupId过滤器,我会得到一个包含特定位置和非特定位置价格的结果。

GET /rest/v3.1/SoftLayer_Product_Package/759/getItemPrices.json?objectMask=mask[locationGroupId,id,categories,item]&objectFilter={"itemPrices":{"categories":{"categoryCode":{"operation":"performance_storage_space"}},"item":{"keyName":{"operation":"$=GBs"}},"locationGroupId":{"operation":"is null"}}}

我猜对象过滤器有什么问题,有什么想法吗?

如果我在locationGroupId 509上过滤它可以工作:

/rest/v3.1/SoftLayer_Product_Package/759/getItemPrices.json?objectMask=mask[locationGroupId,id,categories,item]&objectFilter={"itemPrices":{"categories":{"categoryCode":{"operation":"performance_storage_space"}},"item":{"keyName":{"operation":"$=GBs"}},"locationGroupId":{"operation":509}}}

1 个答案:

答案 0 :(得分:0)

第一个查询不起作用的原因,而第二个查询是因为我使用命令“curl -sg”来执行请求。虽然这消除了转义{} []字符的需要 - 它也会关闭在URL中正确转义其他字符 - 就像“is null”中的空格一样。将其更改为“is%20null”可以解决问题。

我发布这个作为答案,因为我发现其他人可能会遇到这个问题。