为什么调用SoftLayer_Billing_Invoice::getItems接口时一直报500错误?

Why do I keep getting a 500 error when I calling the SoftLayer_Billing_Invoice::getItems interface?

最近在开发一个依赖softlayer接口的项目。我想获取有关裸机服务器的发票详细信息。但是当我调用 SoftLayer_Billing_Invoice::getItems 接口时,我一直收到 500 错误。其他接口都正常。

问候~

代码如下:

client = SoftLayer.create_client_from_env(username="username",
                                          api_key="api_key",
                                          proxy="proxy")
sl_billing_invoice = client['Billing_Invoice']
try:
    result = sl_billing_invoice.getItems(id=id)
    print result
except SoftLayer.SoftLayerAPIError as sl_exc:
    msg = 'result:(%s, %s)' % (sl_exc.faultCode, sl_exc.faultString)
    print msg

Return 错误信息如下:

result:(500, 500 Server Error: Internal Server Error)

问题可能是您的请求返回了大量数据,这种情况通常发生在发票和账单项目上。为了解决该问题,您有以下选择:

  1. 通过对象掩码或使用对象过滤器减少数据量。

  2. 使用分页(结果限制)以减少请求中的数据。

    result = sl_billing_invoice.getItems(limit=50, offset=0, id=id)

Softlayer 文档和类似问题:

https://softlayer.github.io/blog/phil/how-solve-error-fetching-http-headers/

https://softlayer-python.readthedocs.io/en/latest/api/client.html?highlight=limit#making-api-calls

getInvoices method failing

Getting "error": "Internal Error" on Postman and getting error Can not deserialize instance of java.util.ArrayList out of START_OBJECT token