Tan*_*may 3 node.js amazon-dynamodb
我正在尝试使用nodejs sdk 在 Dynamo 表上放置一个项目。我尝试使用相同的文档和一些其他变体,但似乎没有任何效果。每次我收到同样的错误:
"message":"Invalid attribute value type"
"code":"ValidationException"
"time":"2016-10-11T06:32:26.361Z"
"statusCode":400
"retryable":false
Run Code Online (Sandbox Code Playgroud)
以下是相关代码片段:
var params = {
TableName: "MY_Table_Name",
Item: {
"stringAtt": "stringValue",
"boolAtt": true,
"numAtt": 123,
},
};
docClient.put(params, function(err, data) {
if (err) ppJson(err); // an error occurred
else ppJson(data); // successful response
});
Run Code Online (Sandbox Code Playgroud)
我的表的索引如下:
主要:分区键:stringAtt,排序键:boolAtt
GSI:分区键:boolAtt,排序键:numAtt
我不确定是我的查询错误还是索引结构错误。
BOOL 数据类型不能是键属性(即分区键或排序键)。分区或排序键数据类型可以是三种类型(如下所列)。如果您使用类型为'B'的排序键创建了表,则意味着排序键为Binary类型(即不是 Bool)。
编辑:您也不能使用 BOOL 属性作为 GSI 中的分区或排序键。
属性类型:'S | 尼 | 乙'
S - 属性的类型为 String
N - 属性的类型为 Number
B - 属性的类型为 Binary
当使用BOOL类型的键创建表时,API 将抛出以下异常。
Unable to create table. Error JSON: {
"message": "Member must satisfy enum value set: [B, N, S]",
"code": "ValidationException",
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14899 次 |
| 最近记录: |