我正在构建一个订购硬件的应用程序,我发现我无法为给定的包ID获取相同的可用数据中心列表。我目前正在使用getRegions()
,它应该返回给定包可用的数据中心列表。但是,我已经看到它与我在SoftLayer门户中看到的不同。例如,对于包253,我得到28个数据中心。但是,如果我尝试从SL门户手动放置和订购,那么这28个不存在(只是其中的一部分)。
我想我必须查询其他内容,例如isAvailable
或deliveryTimeInformation。在所有情况下,isAvailable
看起来都是1,除了空列表之外,我无法获得deliveryTimeInformation
的值。
我的问题是:有没有办法让你们使用API在SL门户网站上显示相同的数据中心列表?
答案 0 :(得分:1)
您使用的方法是正确的,但您必须考虑不同的包可能具有相同的产品项名称,而一个可能是每月包,另一个可能是每小时包。
确保您通过用户界面查看正确的项目和包裹。您可以验证此单击UI列表中的价格并检查它是否正确地将您重定向到包含253号码的URL。
此外,27个数据中心允许使用253包,您可以使用下一个请求进行验证:
https://$username:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Product_Package_Server/getAllObjects.json?objectFilter={"packageId":{"operation":253}}
下一个请求可以帮助您验证处理器名称“Intel Xeon E5-2650 v3”是否包含在多个软件包中,其中一个是253。
https://$username:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Product_Package_Server/getAllObjects.json?objectFilter={"processorName":{"operation":"Intel Xeon E5-2650 v3"}}
此外,此链接也可能对您有所帮助:
http://sldn.softlayer.com/blog/cmporter/Location-based-Pricing-and-You