amazon-web-services - 使用 CLI 批量写入项目时出现资源未找到错误

标签 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 简单地添加单个项目并得到相同的错误。如果您有任何建议,请让我知道。提前致谢。在此处输入代码

最佳答案

验证“Program”表是否存在

来自 DynamoDB 文档:

ResourceNotFoundException

Message: Requested resource not found.

Example: Table which is being requested does not exist, or is too early in the CREATING state.

在您的 JSON 文件中,“Program”是已存在的表的名称。听起来好像在这批处理和您的单个放置案例中都失败了,仅仅是因为该表不存在。

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

aws dynamodb 列表

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

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

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

aws configure get region

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

进一步阅读

关于amazon-web-services - 使用 CLI 批量写入项目时出现资源未找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43242250/

相关文章:

amazon-web-services - 通过 AWS Elastic Beanstalk 向 Windows Server 配置添加功能

python - 是否可以在 python 中过滤 DynamoDB 查询结果?

amazon-web-services - dynamoDB 是否对受限制的请求收费?

amazon-web-services - 列出AWS SSM参数存储中的所有参数

image - 在 Amazon AWS 中的何处存储图像以便在 RDS 中使用

c# - 如何列出 Amazon S3 存储桶中的所有对象?

filter - 如何按查询对AWS AppSync中的嵌套字段进行过滤

amazon-web-services - 使用AWS CLI限制S3命令

python - MAC 上的 AWS CLI 指向错误的 Python 版本

python - SparkContext 错误 - 找不到文件/tmp/spark-events 不存在