SoftLayer 中的 ObjectFilter 不起作用

ObjectFilter in SoftLayer doesn't work

我发现 ObjectFilter 在 SoftLayer 中不起作用。

我什至在这里尝试了 SoftLayer 网页中提供的示例:

https://sldn.softlayer.com/article/object-filters

休息:

列出dal05

中所有服务器的ID和hostname
https://api.softlayer.com/rest/v3/SoftLayer_Account/getVirtualGuests?objectMask=mask[id,hostname]&objectFilter={"datacenter":{"name":{"operation":"dal05"}}}

当我运行这个命令时,它仍然returns所有虚拟来宾,不管那个虚拟来宾属于哪个数据中心。

也许你可以尝试在过滤器中添加 virtualGuests,如下所示:

objectFilter={ "virtualGuests": { "datacenter": { "longName": { "operation": "Dallas 6" } } } }

或者请看https://sldn.softlayer.com/article/object-filters的第一个例子,像这样:

object_filter = {
    'virtualGuests': {
        'datacenter': {
            'name': {'operation': 'dal05'}
        }
    }
}

试试这个请求:

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

您的请求的问题是您缺少 "virtualGuests" 属性,请记住 objectFilter 正在过滤数据库中的数据,因此您需要告诉它什么table作品及table作品的记录。例如使用 "SoftLayer_Account" 意味着所有工作都将在 "SoftLayer_Account" table 上完成,现在您需要告诉 id property/record 中 table 的工作内容如果您需要处理 "virtualGuests" 等等。请记住这一点,并且您查看了有关有效 properties/records 的文档,例如这些是 Softlayer_Account 的有效 properties/record:

http://sldn.softlayer.com/reference/datatypes/SoftLayer_Account

此致