내가 문제DynamoDB2 및 BOTO 배치 쿼리 및 단일 항목에 대한 잘못된 요청이
내가 이런 배치 쿼리를 할 필요가 DynamoDB2 API를 사용하여 BOTO 2.9.5와 단일 또는 일괄 쿼리를 수행하는 데 문제 얻을 2.9.5 :
one_org = Table('[table-name]').batch_get(keys=[
{'key': '[user-id-hash]'},
{'key': '[user-id-hash]'},
{'key': '[user-id-hash]'},
{'key': '[user-id-hash]'},
])
for user in one_org:
for key, value in user.items():
print key, value
나는이 예외가 계속 :
boto.dynamodb2.exceptions.ValidationException: ValidationException: 400 Bad Request
{
u'message': u'The provided key element does not match the schema',
u'__type': u'com.amazon.coral.validate#ValidationException'
}
내가 키 이름에 문제가있을 거라고 생각 것이 메시지를 감안할 때, 그러나 우리의 키를 키라고, 그렇게한다 말도 안돼. 나에게. 오류가 제공된 값 (들) 스키마에 정의 된 유형과 일치하지 않는 것을 말하는
Traceback (most recent call last):
File "aws/interfaces.py", line 38, in <module>
for user in one_org:
File "/home/kasper/Falcon/thenest/venv/local/lib/python2.7/site-packages/boto/dynamodb2/results.py", line 59, in next
self.fetch_more()
File "/home/kasper/Falcon/thenest/venv/local/lib/python2.7/site-packages/boto/dynamodb2/results.py", line 141, in fetch_more
results = self.the_callable(*args, **kwargs)
File "/home/kasper/Falcon/thenest/venv/local/lib/python2.7/site-packages/boto/dynamodb2/table.py", line 949, in _batch_get
raw_results = self.connection.batch_get_item(request_items=items)
File "/home/kasper/Falcon/thenest/venv/local/lib/python2.7/site-packages/boto/dynamodb2/layer1.py", line 152, in batch_get_item
body=json.dumps(params))
File "/home/kasper/Falcon/thenest/venv/local/lib/python2.7/site-packages/boto/dynamodb2/layer1.py", line 1479, in make_request
retry_handler=self._retry_handler)
File "/home/kasper/Falcon/thenest/venv/local/lib/python2.7/site-packages/boto/connection.py", line 852, in _mexe
status = retry_handler(response, i, next_sleep)
File "/home/kasper/Falcon/thenest/venv/local/lib/python2.7/site-packages/boto/dynamodb2/layer1.py", line 1518, in _retry_handler
response.status, response.reason, data)
boto.dynamodb2.exceptions.ValidationException: ValidationException: 400 Bad Request
{u'message': u'The provided key element does not match the schema', u'__type': u'com.amazon.coral.validate#ValidationException'}
그 이유는 무엇입니까? batch_get을 사용하여 RangeKey를 포함하는 예를 게시 할 수 있습니까? 내가 어떻게 그것을 내가 dict에 추가 할 것인지 알 수 없다. – mackwerk
내 생각에 {key '대신'[user-id-hash] '} {'hash_key ':'user-id-hash ] ','range_key ':'whatever_it_is '} – Pasada
고맙습니다. Pasada :) 이제 작동합니다. 정말로 훌륭하지만, 특정 행을 얻으려면 정확한 RangeKey가 필요합니다.하지만 그것은 DynamoDB입니다. – mackwerk