"The provided key element does not match the schema" DynamoDB (boto3) 错误



我正试图使用boto3从DynamoDB中查询项目。

表格如下:

DynamoDB表

我运行的代码是:

import boto3
TableName = "lightblue_ble_indication_data"
client = boto3.client('dynamodb')
DB = boto3.resource('dynamodb')
table = DB.Table(TableName)
response = table.get_item(Key={'ble_device_name': "LUMEN18BLE", 'timestamp': "1573742965303"})
response['Item']

我错过了什么?

错误消息告诉您传递的键{'ble_device_name': "LUMEN18BLE", 'timestamp': "1573742965303"}与表的架构(即为其定义的键(不匹配。这意味着名称ble_device_nametimestamp与该表的实际键属性不匹配,或者您为它们选择的值的类型不正确。

您所附的图像证明ble_device_nametimestamp是正确的关键属性名称,所以这不是问题所在。它还显示了ble_device_name在传递时有一个字符串类型。剩下的唯一可能性是,您为timestamp传递了一个字符串,而在表中,它被声明为一个数字。您只需要在试图传递时间戳的值1573742965303周围加引号,一切都应该正常。

最新更新