AWS dynamoDB - batchWrite - 提供的关键元素与架构不匹配
Posted
技术标签:
【中文标题】AWS dynamoDB - batchWrite - 提供的关键元素与架构不匹配【英文标题】:AWS dynamoDB - batchWrite - The provided key element does not match the schema 【发布时间】:2021-05-12 03:08:31 【问题描述】:我正在尝试在我的 dynamodb 表中写入一行:
使用此节点代码
await this.dynamoDocumentClient.batchWrite(
"RequestItems":
"Delivery_Cost_By_PostCode":[
"PutRequest":
"Item":
"postcode":
"N":"1234"
]
).promise();
但我收到此错误ValidationException: The provided key element does not match the schema
。我不确定为什么。我已经阅读了syntax 资源
【问题讨论】:
你用的是什么 JS 库?this.dynamoDocumentClient
是什么?
嗨 Phil,它是 npmjs.com/package/serverless-dynamodb-seed 的一部分,不过我为 github.com/arielschvartz/serverless-dynamodb-seed/blob/master/… 硬编码数据,只是为了测试 this._dynamoDocumentClient = new this.provider.sdk.DynamoDB.DocumentClient( service: this. dynamodb, );
【参考方案1】:
移除 1234 附近的字符串,修复它:)
await this.dynamoDocumentClient.batchWrite(
"RequestItems":
"Delivery_Cost_By_PostCode":[
"PutRequest":
"Item":
"postcode":
"N":1234
]
).promise();
【讨论】:
以上是关于AWS dynamoDB - batchWrite - 提供的关键元素与架构不匹配的主要内容,如果未能解决你的问题,请参考以下文章
用于DynamoDB batchWrite调用的EC2主机类型。
TypeError:AWS.DynamoDB.DocumentClient 不是构造函数
使用 AWS Java DynamoDB 流 Kinesis 适配器处理 DynamoDB 流
Terraform + Dynamodb - 了解 aws_appautoscaling_target 和 aws_appautoscaling_policy