【问题标题】:Resource Not Found Error when using CLI batch-write-item使用 CLI 批处理写入项时未找到资源错误
【发布时间】:2017-04-05 21:51:04
【问题描述】:

首先,我想说我在这方面是全新的。尝试使用 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

【问题讨论】:

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


    【解决方案1】:

    验证“程序”表是否存在

    来自 DynamoDB 文档:

    ResourceNotFoundException

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

    示例:被请求的表不存在,或者不存在 处于 CREATING 状态的早期。

    在您的 JSON 文件中,“程序”是一个已经存在的表的名称。听起来它在这批和你的单放案例中都失败了,仅仅是因为表不存在。

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

    aws dynamodb list-tables

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

    验证您的 CLI 默认区域与您的表相同

    如果此表确实存在,请检查您的cli configuration 以确认您正在查询该表所在的同一区域。您可以像这样检查您的默认区域:

    aws configure get region
    

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

    进一步阅读

    【讨论】:

    • 谢谢!就是这样。我在错误的地区。这让我有好几次。
    • Region 对我来说也是如此,当你知道桌子存在时,我想那是我接下来应该去的地方。
    猜你喜欢
    • 2014-08-09
    • 1970-01-01
    • 2021-09-11
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多