DynamoDB ResourceNotFoundException
TL;DR — DynamoDB 在你客户端所指向的区域/账户中找不到你所命名的表(或索引)。检查表名中的拼写错误、错误的 region,或另一个账户的凭证。几乎从来不是表真的没了。
含义
ResourceNotFoundException: Requested resource not found: Table: <table-name> not found
# on DynamoDB Local:
ResourceNotFoundException: Cannot do operations on a non-existent table第一条是线上服务返回的内容——它会点出自己找过的那张表。第二条是 DynamoDB Local 返回的内容,看到它基本就能确定:你连的是模拟器,而不是 AWS。无论哪种,操作都指向了一个从这个客户端的角度看不存在的表或索引——表名 + AWS 区域 + 账户(凭证)的组合。三者都必须对齐。DynamoDB 以 HTTP 状态码 400 返回它,且不可重试——在你修正名称、区域或凭证之前(或表完成创建之前:一张过早处于 CREATING 状态的表也可能返回这个错误),同样的请求会一直失败。
为什么会发生
- 区域不匹配——表在
us-east-1,但客户端默认到us-west-2(或者没有设置区域,因此 SDK 选了一个不同的默认值)。 - 表名错误——一个拼写错误、错误的大小写(在 Web 服务上名称区分大小写),或一个带环境前缀的名称(
prod-Orders对Orders)。 - 账户错误——凭证解析到的 AWS 账户不是拥有该表的那个。
- 查询一个不存在或还未
ACTIVE的索引(一个 GSI 仍在回填)——API 参考指出"一个不存在的表或索引",其"状态可能不是ACTIVE"。 - 表确实被删除了,或者你指向的是从空开始的 DynamoDB Local。
如何修复
- 在客户端上显式固定区域,并确认它与表所在的位置匹配。
- 核实确切的表名——列出该区域中的表(
aws dynamodb list-tables --region <r>)并逐字复制名称。 - 确认凭证解析到拥有该表的账户(
aws sts get-caller-identity)。 - 检查索引名称 + 状态,如果调用使用了
IndexName(DescribeTable→ GSI 必须是ACTIVE)。
示例
import {DynamoDBClient} from '@aws-sdk/client-dynamodb';
// Pin the region so the client can't silently target the wrong one:
const client = new DynamoDBClient({region: 'us-east-1'});常见问题
如何修复 DynamoDB 中的 ResourceNotFoundException?
检查表名称、AWS 区域和帐户(凭据)是否全部对齐:将区域显式固定在客户端上,列出该区域中的表以验证确切的名称,并使用 aws sts get-caller-identity 确认凭据解析为所属帐户。
ResourceNotFoundException 是否意味着我的表已被删除? 很少。这通常意味着客户端正在寻找错误的位置 - 区域不匹配、表名称中的拼写错误或大小写错误,或者不同帐户的凭据。当你查询不存在或尚未激活的索引时,或者当你指向以空开头的 DynamoDB Local 时,它也会触发。
DynoTable 工作台
DynoTable 在侧栏中列出了活动配置文件和区域的表格。如果一个表丢失,请按⌘P确认配置文件并检查选项卡上的区域 - 此处的不匹配是导致此错误的最常见原因该应用程序。 ⌘K → 按名称打开表格 可让你键入确切的表格当 ListTables 被拒绝或列表按表前缀过滤时的名称。针对 DynamoDB Local,添加具有端点 http://localhost:8000 的配置文件并匹配占位符凭据 (Connect to DynamoDB Local)
— Local 开始为空,直到你创建表。
相关错误
- ResourceInUseException——反面:表已经存在。
- 配置中缺少 region
- 安全令牌无效
- 学习:Running DynamoDB Local——Local 从空开始;要知道你在哪个端点上。
来源
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide(2026-07-13 验证)
- Query — Amazon DynamoDB API Reference(2026-07-13 验证)
- DynamoDB local usage notes — Amazon DynamoDB Developer Guide(2026-07-13 验证)