我遇到连接DynamoDB的问题。我得到了这个例外:
com.amazonaws.services.dynamodb.model.ResourceNotFoundException: 未找到请求的资源(服务:AmazonDynamoDB;状态代码: 400;错误代码:ResourceNotFoundException;请求ID:..
但我有一张桌子和地区是正确的。
答案 0 :(得分:23)
从docs开始,您没有具有该名称的表格,或者它处于“创建”状态。
我会仔细检查以确认该表确实存在,位于正确的区域,您正在使用可以访问它的访问密钥
答案 1 :(得分:2)
始终确保您执行以下操作之一:
答案 2 :(得分:1)
我的问题很愚蠢,但是也许有人有相同的问题……我最近更改了aws(~/.aws/credentials
)的默认凭据,我在另一个帐户中进行测试,却忘记了将值回滚到常规帐户。 / p>
答案 3 :(得分:0)
如果DynamoDB表位于其他区域,请确保在初始化DynamoDB之前先进行设置
AWS.config.update({region: "your-dynamoDB-region" });
这对我有用:)
答案 4 :(得分:0)
如果您的资源和我的一样而且到处都是,您可以在创建资源时定义 region_name。
我对所有的实例都这样做,因为它迫使我思考我在哪里放置/调用什么。
boto3.resource("dynamodb", region_name='us-east-2')