使用 AWS CLI 将使用 Json 文件的项目放入 AWS DynamoDB 时出错

Error to put Items using Json File in AWS DynamoDB using AWS CLI

我正在尝试使用 batch-write-item 通过 CLI 将项目添加到 dynamodb 但收到错误: “调用 BatchWriteItem 操作时发生错误 (ValidationException):提供的关键元素与架构不匹配”。

我正在使用来自 AWS docs 的示例 JSON 作为参考。

知道遗漏了什么吗?

{
   "VertexMasterData":[
      {
         "PutRequest":{
            "Item":{
               "MasterDataID":{
                  "S":"0"
               },
               "ScenarioID":{
                  "S":"1"
               },
               "FlexibleFields":{
                  "M":{
                     "@fieldId4":{
                        "S":"4"
                     },
                     "@fieldId1":{
                        "S":"8517.12.31"
                     }
                  }
               },
               "Seller":{
                  "M":{
                     "MainDivision":{
                        "S":"SP"
                     }
                  }
               },
               "Destination":{
                  "M":{
                     "MainDivision":{
                        "S":"RJ"
                     }
                  }
               }
            }
         }
      },
      {
         "PutRequest":{
            "Item":{
               "MasterDataID":{
                  "S":"1"
               },
               "ScenarioID":{
                  "S":"1"
               },
               "FlexibleFields":{
                  "M":{
                     "@fieldId4":{
                        "S":"1"
                     },
                     "@fieldId1":{
                        "S":"3403.99.00"
                     }
                  }
               },
               "Seller":{
                  "M":{
                     "MainDivision":{
                        "S":"SP"
                     }
                  }
               },
               "Destination":{
                  "M":{
                     "MainDivision":{
                        "S":"AC"
                     }
                  }
               }
            }
         }
      },
      {
         "PutRequest":{
            "Item":{
               "MasterDataID":{
                  "S":"2"
               },
               "ScenarioID":{
                  "S":"1"
               },
               "FlexibleFields":{
                  "M":{
                     "@fieldId4":{
                        "S":"1"
                     },
                     "@fieldId1":{
                        "S":"3506.10.90"
                     }
                  }
               },
               "Seller":{
                  "M":{
                     "MainDivision":{
                        "S":"SP"
                     }
                  }
               },
               "Destination":{
                  "M":{
                     "MainDivision":{
                        "S":"AC"
                     }
                  }
               }
            }
         }
      }
   ]
}

Table 详情:VertexMasterData

您的记录似乎不包含一个或多个主键值。当您创建 VertexMasterData table 时,您会指定一个分区键,也可能指定一个排序键。添加到该 table 的任何记录都必须包含您的主键(所有其他字段都是可选的),它可以是一个或两个字段。

要查看您的 table 的分区键和排序键,请转至 AWS 控制台 > DynamoDb > 表。

在 JSON 中我没有考虑的分区键末尾有一个 space: Table: "MasterDataID" JSON: "MasterDataID"