使用CLI批处理写入项

时间:2017-04-05 21:51:05

标签: amazon-web-services amazon-dynamodb aws-cli

首先,我想说我是全新的。尝试使用CLI将项目批量加载到我的dynamodb时,出现以下错误:

调用BatchWriteItem操作时发生错误(ResourceNotFoundException):找不到请求的资源

我运行的命令在这里:     aws --no-verify-ssl dynamodb batch-write-item --request-items file://program.json

JSON文件内容如下:

{
    "Program": [
        {
            "PutRequest": { 
                "Item": {
                    "programName": {"S":"Yogi Bear"},
                    "activeInd": {"S":"Y"}
                }
            }
        },
        {
            "PutRequest": { 
                "Item": {
                    "programName": {"S":"Salad for Lunch"},
                    "activeInd": {"S":"Y"}
                }
            }
        }
    ]
}

我将此与文档中的示例进行了比较,我看不出问题。我尝试使用put-item简单地添加单个项目并得到相同的错误。如果您有任何建议,请让我知道。提前致谢。enter code here

1 个答案:

答案 0 :(得分:15)

验证"程序"表存在

来自DynamoDB文档:

  

ResourceNotFoundException

     

消息:找不到请求的资源。

     

示例:请求的表不存在,或者也是如此   在CREATING状态的早期。

在您的JSON文件中," Program"旨在成为已存在的表的名称。这听起来好像是在这个批次和单个放置情况下失败只是因为该表不存在。

使用list-tables命令检查此表是否已存在:

aws dynamodb list-tables

如果没有,请使用create-table命令创建它。

验证您的CLI默认区域与表

相同

如果此表存在,请检查您的cli configuration以验证您是否在该表所在的同一区域中查询。您可以像这样检查默认区域:

aws configure get region

您可以使用aws configure更改默认设置,或直接在任何CLI命令中指定--region以覆盖默认区域。

进一步阅读