gpt4 book ai didi

boto - DynamoDB2 和 Boto 2.9.5 对批量查询和单项获取的错误请求

转载 作者:行者123 更新时间:2023-12-04 22:16:54 29 4
gpt4 key购买 nike

我在使用 DynamoDB2 API 使用 boto 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'
}

鉴于此消息,我认为 key 的名称有问题,但我们的 key 称为 key,因此对我来说没有任何意义。

我在下面包含了堆栈跟踪:
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'}

最佳答案

我今天早上面临同样的问题。如果您在架构中定义了 RangeKey,那么您还需要指定它。如果您不想指定 RangeKey 并且只使用 HashKey 获取项目,请考虑删除 RangeKey。

关于boto - DynamoDB2 和 Boto 2.9.5 对批量查询和单项获取的错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16831226/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com