如何使用 Softlayer 的票证 API 应用过滤器?

How can I apply a filter using Softlayer's ticket API?

我试图收到完整的门票列表,并截取了以下代码:

client = SoftLayer.create_client_from_env(username="xxx", api_key="xxx")
client['Account'].getTickets(mask='id')

即便如此,我将输出屏蔽为仅 return 'id' 它在我使用 SoftLayerAPIError: SoftLayerAPIError(SOAP-ENV:Server): Internal Error 的一个 Softlayer 帐户中失败了。我在该帐户中有超过 140 万张票(包括已关闭的票)。

接下来我尝试应用过滤器:

tickets = client.call('Account', 'getTickets',
                      filter={'id': { 'operation': 48076123 }}
# or
tickets = client.call('Account', 'getTickets',
                      filter={'id': { 'operation': '>48076123' }}

但它总是 returns 完整的工单列表,并且在工单数量多的帐户上以同样的方式失败。我需要创建所有工单的历史记录。

有没有办法限制查询或对结果创建 window? 感谢任何帮助。

你的 objectMask 应该是

client['Account'].getTickets(mask="mask[id]")

您的装配工应该是:

tickets = client.call('Account', 'getTickets', filter={"tickets":{"id":{"operation":48076123}}}

您还可以使用分页限制结果

client.call('Account', 'getTickets', limit=10, offset=0)

有关详细信息,请参阅 https://github.com/softlayer/softlayer-python/blob/master/docs/api/client.rst