未找到AWS DynamoDB资源异常

时间:2016-10-22 12:42:55

标签: amazon-web-services amazon-dynamodb

我遇到连接DynamoDB的问题。我得到了这个例外:

  

com.amazonaws.services.dynamodb.model.ResourceNotFoundException:   未找到请求的资源(服务:AmazonDynamoDB;状态代码:   400;错误代码:ResourceNotFoundException;请求ID:..

但我有一张桌子和地区是正确的。

5 个答案:

答案 0 :(得分:23)

docs开始,您没有具有该名称的表格,或者它处于“创建”状态。

我会仔细检查以确认该表确实存在,位于正确的区域,您正在使用可以访问它的访问密钥

答案 1 :(得分:2)

始终确保您执行以下操作之一:

  1. 在您正在使用的所有服务器和开发机器上的 AWS CLI 配置文件中设置了正确的默认区域。
  2. 最好的选择是始终在项目的单独类/配置中明确指定这些常量。始终在代码中导入它并在 boto3 调用中使用它。如果您要根据企业要求进行添加或更改,这将提供灵活性。

答案 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')