2017-09-18 12 views
2

は私が切り取ら次のコードでチケットの完全なリストを受信しようとした:SoftlayerのチケットAPIを使用してフィルタを適用するにはどうすればよいですか?

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

は、たとえそうだとしても、私はそれが私のSOFTLAYERがSoftLayerAPIError: SoftLayerAPIError(SOAP-ENV:Server): Internal Errorとアカウントのいずれかに障害が発生しただけ返す'id'への出力をマスクします。私はその口座に1.4百万以上のチケット(閉鎖を含む)を持っています。

次の私は、フィルタ適用しようとした:

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

をしかし、それは常にチケットの完全なリストを返し、チケットの数が多いのアカウントで同じように失敗しました。私はすべてのチケットの履歴を作成する必要があります。

クエリを制限するか、結果に対してウィンドウを作成する方法はありますか? 何か助けていただければ幸いです。

答えて

2

あなたobjectMaskは

クライアントでなければなりません[ 'アカウント'] getTickets(マスク= "マスク[ID]")

あなたfitlerにする必要があります:。

チケット= client.call( 'Account'、 'getTickets'、 filter = {"チケット":{"id":{"操作":48076123}}}

ともあなたはより多くの情報

+0

ため

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

https://github.com/softlayer/softlayer-python/blob/master/docs/api/client.rst参照ページネーションを使用して結果をlimmitすることができます私は改ページは、私が探していたソリューションだと思います。ありがとうございました。 –

関連する問題