问题描述
如何使用Python SoftLayer客户端(使用v5.7.1)确定NFS计费项目(续航存储)的位置(例如:dal10)?
我在SO上使用了其他一些示例,并提出了这个建议,但是呼叫失败:
objectFilter = {"billingItem": {"id": {"operation": "12345"}}}
account.getAllBillingItems(filter=objectFilter)
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/SoftLayer/transports.py",line 240,in __call__
raise _es(ex.faultCode,ex.faultString)
SoftLayer.exceptions.softLayerAPIError: SoftLayerAPIError(SOAP-ENV:Server): Internal Error
解决方法
尝试使用以下python脚本来获取结算项目的详细信息和位置。
导入json
import SoftLayer
API_USERNAME = 'set me'
API_KEY = 'set me'
client = SoftLayer.create_client_from_env(username=API_USERNAME,api_key=API_KEY)
billingItemId = 1234
mask = "mask[location]"
try:
response = client['SoftLayer_Billing_Item'].getObject(mask=mask,id=billingItemId)
print(response)
except SoftLayer.SoftLayerAPIError as e:
"""
If there was an error returned from the SoftLayer API then bomb out with the
error message.
"""
print("Unable to retrieve the billing item information. "
% (e.faultCode,e.faultString))