我使用以下REST API调用来获取可用于订购每小时虚拟服务器的项目列表:
https://api.softlayer.com/rest/v3/SoftLayer_Product_Package/46.json?objectMask=configuration;configuration.itemCategory;itemPrices;itemPrices.item;itemPrices.categories;itemPrices.item.softwareDescription我遇到的问题是,这个调用返回了非常多的项,因此使调用变得很慢。
有没有办法修改调用,使其只返回有效项目(即,仅显示在control.softlayer.com上的订购页面上的项目),例如在control.softlayer.com上,在订购每小时虚拟服务器时,操作系统列表不包括Windows Server2008,但是上述调用的结果包括windows Server2008。类似地,在从softlayer门户订购时,有几个这样的项目不显示,但在上面的调用中返回。
发布于 2017-02-06 20:11:55
门户执行多个请求来过滤数据,并且只显示它使用的方法的有效信息:
SoftLayer_Product_Package::getItemConflicts SoftLayer_Product_Package::getItemLocationConflicts
如果您希望获得与门户相同的信息,则需要应用这些过滤器:
下面是一个使用python的例子:
How can we implement the exclusion function with using API
但是,门户根据每个项目的属性对某些项目进行更多的过滤,因此要获得与门户相同的结果并非易事。
问候
https://stackoverflow.com/questions/42067003
复制相似问题