使用 objectFilter 限制 Softlayer 的 REST API 的输出?
Using objectFilter to limit output of Softlayer's REST APIs?
我正在尝试卷曲我在 Softlayer 上可用的图像列表。我当前的 curl 命令是:
curl 'https://USERNAME:API_KEY@api.softlayer.com/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectMask=filteredMask\[id,name\]&objectFilter=\{"id":\{"operation":111111\}\}'`
但是没用。 objectMask
有效,但 objectFilter
似乎让一切都通过了,我仍然看到每张图片(不仅是 ID 为 111111
的图片)。我最后 URL 的结构是不是错了...?
这是您需要发送的结构:
curl "https://USERNAME:API_KEY@api.softlayer.com/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectFilter={"blockDeviceTemplateGroups":{"id":{"operation":"111111"}}}&objectMask=id;name"
不幸的是,有必要使用 cURL 对特殊字符进行转义,所以你可以发送这个(对象过滤器正在编码):
curl "https://USERNAME:API_KEY@api.softlayer.com/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectFilter=%7B%22blockDeviceTemplateGroups%22%3A%7B%22id%22%3A%7B%22operation%22%3A%22111111%22%7D%7D%7D&objectMask=id;name"
替换:用户名、API_KEY和111111
例如:
%22%3A%22111111%22%7D%7D%7D
参考文献:
我正在尝试卷曲我在 Softlayer 上可用的图像列表。我当前的 curl 命令是:
curl 'https://USERNAME:API_KEY@api.softlayer.com/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectMask=filteredMask\[id,name\]&objectFilter=\{"id":\{"operation":111111\}\}'`
但是没用。 objectMask
有效,但 objectFilter
似乎让一切都通过了,我仍然看到每张图片(不仅是 ID 为 111111
的图片)。我最后 URL 的结构是不是错了...?
这是您需要发送的结构:
curl "https://USERNAME:API_KEY@api.softlayer.com/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectFilter={"blockDeviceTemplateGroups":{"id":{"operation":"111111"}}}&objectMask=id;name"
不幸的是,有必要使用 cURL 对特殊字符进行转义,所以你可以发送这个(对象过滤器正在编码):
curl "https://USERNAME:API_KEY@api.softlayer.com/rest/v3/SoftLayer_Account/getBlockDeviceTemplateGroups.xml?objectFilter=%7B%22blockDeviceTemplateGroups%22%3A%7B%22id%22%3A%7B%22operation%22%3A%22111111%22%7D%7D%7D&objectMask=id;name"
替换:用户名、API_KEY和111111
例如:
%22%3A%22111111%22%7D%7D%7D
参考文献: