DynamoDB - 无法读取项目:提供的关键元素与模式不匹配
DynamoDB - Unable to read item: The provided key element does not match the schema
我的代码:
def query_consulta_token(holder_id)
dynamodb = Aws::DynamoDB::Client.new
table_name = "pix_owner_confirmation_token"
holder_id = holder_id
params = {
table_name: table_name,
key: {
holder_id: holder_id,
},
}
begin
result = dynamodb.get_item(params)
puts "%s - %s",
result.item["holder_id"],
result.item["address"],
result.item["token"]
rescue Aws::DynamoDB::Errors::ServiceError => error
puts "Unable to read item:"
puts "#{error.message}"
binding.pry
end
结束
我的结果:
无法读取项目:
提供的关键元素与架构不匹配
您发送给 get_item
的参数指定了一个名为 holder_id
的主键:
params = {
table_name: table_name,
key: {
holder_id: holder_id,
}
}
但是,您评论说您的 table 有一个名为 token
的主键。要解决此问题,您需要在参数中提供主键的名称:
params = {
table_name: table_name,
key: {
token:<your token here>,
}
}
我的代码:
def query_consulta_token(holder_id) dynamodb = Aws::DynamoDB::Client.new
table_name = "pix_owner_confirmation_token"
holder_id = holder_id
params = {
table_name: table_name,
key: {
holder_id: holder_id,
},
}
begin
result = dynamodb.get_item(params)
puts "%s - %s",
result.item["holder_id"],
result.item["address"],
result.item["token"]
rescue Aws::DynamoDB::Errors::ServiceError => error
puts "Unable to read item:"
puts "#{error.message}"
binding.pry
end
结束
我的结果: 无法读取项目: 提供的关键元素与架构不匹配
您发送给 get_item
的参数指定了一个名为 holder_id
的主键:
params = {
table_name: table_name,
key: {
holder_id: holder_id,
}
}
但是,您评论说您的 table 有一个名为 token
的主键。要解决此问题,您需要在参数中提供主键的名称:
params = {
table_name: table_name,
key: {
token:<your token here>,
}
}