【问题标题】:SoftLayer API: can you filter relational properties (objectMask)SoftLayer API:你可以过滤关系属性(objectMask)
【发布时间】:2017-02-01 00:32:30
【问题描述】:

有没有办法使用对象掩码进行过滤?我想获得独立的便携式存储。我想我可以搜索 blockDeviceCount 为 0 或 blockDevices 为空但无法让其中任何一个工作的便携式存储卷。以下查询返回所有存储卷,无论它们是否有块设备。

https://api.softlayer.com/rest/v3/SoftLayer_Account/PortableStorageVolumes?objectFilter={"portableStorageVolumes":{"blockDevices":{"operation":"is null"}}}&objectMask=mask[blockDeviceCount,blockDevices]

https://api.softlayer.com/rest/v3/SoftLayer_Account/PortableStorageVolumes?objectFilter={"portableStorageVolumes":{"blockDeviceCount":{"operation":"0"}}}&objectMask=mask[blockDeviceCount,blockDevices]

谢谢,

【问题讨论】:

    标签: ibm-cloud-infrastructure


    【解决方案1】:

    试试这个请求:

    https://$USERNAME:$APIKEY@api.softlayer.com/rest/v3/SoftLayer_Account/getPortableStorageVolumesobjectMask=mask[storageRepository[guests]]
    

    基本上所有没有任何sotrageRepository并且sotrageRepository没有任何guest的便携式存储,这意味着没有附加便携式存储。

    现在您需要使用自己的代码来过滤数据,因为使用 objectFilters 无法过滤数据。

    问候

    【讨论】:

    • 您好尼尔森,谢谢。为了澄清,你能过滤“关系和计数属性”吗?或者 objectFilters 是否仅适用于“本地属性”(即,当您查看文档中的 DataType 帮助页面时,页面左侧列出的属性:sldn.softlayer.com/reference/datatypes/SoftLayer_Account
    • 对象过滤器不适用于所有数据,对于计数器的情况,数据库中不存在这些值,当您执行查询这些数据的请求时,它们会被计算出来。对于数组的情况,过滤器无法查看数组是否为空或 null。所以有很多情况下过滤器不起作用在这些情况下你需要使用自己的代码来过滤数据
    猜你喜欢
    • 2017-01-21
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多