未找到AWS DynamoDB资源异常

Иго*_*ляк 27 amazon-web-services amazon-dynamodb

我遇到与DynamoDB连接的问题.我得到这个例外:

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

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

Che*_*rel 32

文档来看,要么您没有具有该名称的表,要么它处于CREATING状态.

我会仔细检查以验证表确实存在,在正确的区域中,并且您正在使用可以访问它的访问密钥

  • 我确实在研究其他地区。通过查看正确的区域来修复它。谢谢! (4认同)
  • 对我来说,这是我的访问密钥,用于不同的帐户。我好傻 你摇滚! (2认同)
  • 不知怎的,我的区域都错了,昨晚在更新架构后尝试重新创建它时删除了该表。所以我的双重失败...... (2认同)

Ole*_*kov 23

我花了 1 天研究项目中的问题,现在我应该偿还人类的债务并减少一点宇宙的熵。\n通常,此消息表示您的客户端无法访问数据库中的。\n您应该检查接下来的事情:

\n
1. Your database is running\n2. Your accessKey and secretKey are valid for the database\n3. Your DB endpoint is valid and contains correct protocol ("http://" or "https://"), and correct hostname, and correct port\n4. Your table was created in the database.\n5. Your table was created in the database in the same region that you set as a parameter in credentials. Optional, because some\ndatabase environments (e.g. Testcontainers Dynalite) don't have an incorrect value for the region. And any nonempty region value will be correct\n
Run Code Online (Sandbox Code Playgroud)\n

就我而言,问题是我无法在使用 Testcontainers 和 Dynalite 替代 DynamoDB 的测试中保存和加载表中的数据。我发现在我们的项目中表是由带有 @Component 注释标记的 Spring 组件创建的。在测试中,我们使用延迟加载组件的全局设置来进行测试,因此我们的组件默认情况下不会加载,因为没有人在测试中显式调用它。\xc2\xaf_(\xe3\x83\x84)_/\xc2\xaf

\n


小智 5

如果 DynamoDB 表在不同的区域中,请确保在初始化 DynamoDB 之前通过

AWS.config.update({region: "your-dynamoDB-region" });
Run Code Online (Sandbox Code Playgroud)

这对我有用:)


pmi*_*nda 5

我的问题很愚蠢,但也许有人也有同样的问题……我最近更改了 aws ( ~/.aws/credentials)的默认凭据,我正在另一个帐户中进行测试,但忘记将值回滚到常规帐户。