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——反面:表已經存在。
- 設定中缺少區域
- 安全權杖無效
- 學習: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 驗證)