Softlayer Python API:multiple 不返回计费项的本地属性
Softlayer Python API:multiple local properties of billing item are not returned
调用 billing_Item Python API,返回了 billing_item,但没有返回很多(有趣的)本地属性。我感兴趣的本地属性都与正常运行时间和费用有关(例如 laborFee、oneTimeFee、hoursUsed、recurringFee 等),但它们不会返回。
我的工作:
import SoftLayer
conn = SoftLayer.create_client_from_env(username='',api_key='')
allParents = conn.call('Account','getAllTopLevelBillingItems') #allParents is a list with billing_Items
allParents[0] # returns the first billing_Item as a dict but without a lot of relevant parameters
此外,每个父计费项的子计费项缺少很多本地属性。
下面的 python 脚本显示了您需要的本地属性。另外,如果您的脚本 return 没有您需要的属性,请应用对象掩码,例如:
import SoftLayer
# For nice debug output:
from pprint import pprint as pp
apiUsername = 'set me'
apiKey = 'set me'
client = SoftLayer.Client(
username=apiUsername,
api_key=apiKey
)
objectMask = 'mask[id,laborFee,oneTimeFee,recurringFee]'
try:
result = client['SoftLayer_Account'].getAllTopLevelBillingItems(mask=objectMask)
pp(result)
except Exception as e:
pp('Failed ............', e)
希望对你有所帮助
这可能是您的帐户存在问题。我建议您尝试像这样的简单 Rest Call:
https://$Username:$Apikey@api.softlayer.com/rest/v3.1/SoftLayer_Account/getAllTopLevelBillingItems
Repalce $Username and $Apikey
如果您遇到同样的问题。通过在 Softlayer 的门户中打开一张票来报告它,以便 Softlayer 的人看看这个
调用 billing_Item Python API,返回了 billing_item,但没有返回很多(有趣的)本地属性。我感兴趣的本地属性都与正常运行时间和费用有关(例如 laborFee、oneTimeFee、hoursUsed、recurringFee 等),但它们不会返回。
我的工作:
import SoftLayer
conn = SoftLayer.create_client_from_env(username='',api_key='')
allParents = conn.call('Account','getAllTopLevelBillingItems') #allParents is a list with billing_Items
allParents[0] # returns the first billing_Item as a dict but without a lot of relevant parameters
此外,每个父计费项的子计费项缺少很多本地属性。
下面的 python 脚本显示了您需要的本地属性。另外,如果您的脚本 return 没有您需要的属性,请应用对象掩码,例如:
import SoftLayer
# For nice debug output:
from pprint import pprint as pp
apiUsername = 'set me'
apiKey = 'set me'
client = SoftLayer.Client(
username=apiUsername,
api_key=apiKey
)
objectMask = 'mask[id,laborFee,oneTimeFee,recurringFee]'
try:
result = client['SoftLayer_Account'].getAllTopLevelBillingItems(mask=objectMask)
pp(result)
except Exception as e:
pp('Failed ............', e)
希望对你有所帮助
这可能是您的帐户存在问题。我建议您尝试像这样的简单 Rest Call:
https://$Username:$Apikey@api.softlayer.com/rest/v3.1/SoftLayer_Account/getAllTopLevelBillingItems
Repalce $Username and $Apikey
如果您遇到同样的问题。通过在 Softlayer 的门户中打开一张票来报告它,以便 Softlayer 的人看看这个