0
:어떻게 프로비저닝 처리 할 수있는 문서에서 예제를 사용하여 처리량 예외 DynamoDB의의 query_2
>>> rev_with_d = users.query_2(
... account_type__eq='standard_user',
... last_name__beginswith='D',
... reverse=True,
... limit=2
...)
>>> for user in rev_with_d:
... print user['first_name']
'John'
'Jane'
어떻게 예외가이 경우에 처리 처리량 것인가?
각 루프마다 지수 백 오프를 사용해 보았지만 예외가 잡히지 않습니다.
편집 : 요청에 의해
역 추적 :
Traceback (most recent call last):
File "kgraph.py", line 51, in <module>
for user in rev_with_d:
File "/Library/Python/2.7/site-packages/boto/dynamodb2/results.py", line 62, in __next__
self.fetch_more()
File "/Library/Python/2.7/site-packages/boto/dynamodb2/results.py", line 146, in fetch_more
results = self.the_callable(*args, **kwargs)
File "/Library/Python/2.7/site-packages/boto/dynamodb2/table.py", line 1132, in _query
**kwargs
File "/Library/Python/2.7/site-packages/boto/dynamodb2/layer1.py", line 1522, in query
body=json.dumps(params))
File "/Library/Python/2.7/site-packages/boto/dynamodb2/layer1.py", line 2100, in make_request
retry_handler=self._retry_handler)
File "/Library/Python/2.7/site-packages/boto/connection.py", line 937, in _mexe
status = retry_handler(response, i, next_sleep)
File "/Library/Python/2.7/site-packages/boto/dynamodb2/layer1.py", line 2134, in _retry_handler
response.status, response.reason, data)
boto.dynamodb2.exceptions.ProvisionedThroughputExceededException: ProvisionedThroughputExceededException: 400 Bad Request
{u'message': u'The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning level with the UpdateTable API', u'__type': u'com.amazonaws.dynamodb.v20120810#ProvisionedThroughputExceededException'}
제공 할 수있는 백 트레이스가 있습니까? 아니면 가상의 상황을 묻고 있습니까? 또한 boto는 이미 지수 적 백 오프가 내장되어 있습니다. DynamoDBConnection.NumberRetries 속성을 설정하여 원하는대로 설정하면됩니다. 기본값은 10입니다. – Endophage
이것이 내가 찾던 해답이라고 생각합니다. 감사합니다 – user602525
그래, boto가 그 오류를 제기 할 때쯤에는 이미 쿼리를 꽤 자주 실행하려고했습니다. – Endophage