Softlayer filtering not working

2019-09-07 10:48发布

问题:

Why is filtering not working as defined in Softlayer API filtering documentation?

Here is the REST call to the API with filtering:

https://api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectMask=mask[id,datacenter]&objectFilter={"datacenter":{"name":{"operation":"dal05"}}}

And this wont work. It returns virtual hosts from any datacenter, NOT from dal05 ONLY as expected:

<root>
  <item>
    <id>24291415</id>
    <datacenter>
       <id>814994</id>
       <longName>Amsterdam 3</longName>
       <name>ams03</name>
       <statusId>2</statusId>
    </datacenter>
  </item>
  <item>
    <id>26248749</id>
    <datacenter>
      <id>814994</id>
      <longName>Amsterdam 3</longName>
      <name>ams03</name>
      <statusId>2</statusId>
    </datacenter>
  </item>
  <item>
    <id>26248751</id>
    <datacenter>
      <id>814994</id>
      <longName>Amsterdam 3</longName>
      <name>ams03</name>
      <statusId>2</statusId>
    </datacenter>
  </item>
</root>

回答1:

Try this object filter

objectFilter={"virtualGuests":{"datacenter":{"name":{"operation":"dal05"}}}}

Regards



回答2:

I think this filter is the one which work

objectFilter={"virtualGuests":{"datacenter":{"name":{"operation":"dal05"}}}}



回答3:

Review this link:

  • How to use object filter with softlayer rest api?

it will provide a clear idea about how to define object filters