DynamoDB BackupNotFoundException

TL;DR — DynamoDB has no backup matching the BackupArn you supplied. Almost always a wrong or malformed ARN, a backup that was deleted or expired, or a client pointed at the wrong region/account. List the backups for the table and copy the exact ARN.

What it means

BackupNotFoundException: Backup not found for the given BackupArn

Restore and describe calls (RestoreTableFromBackup, DescribeBackup, DeleteBackup) address a backup by its ARN. This HTTP 400 means no ACTIVE backup exists at that ARN in the region + account your credentials resolve to. It's client-side and not retryable until the ARN is correct.

Why it happens

  • Wrong or malformed ARN — a typo, a truncated ARN, or one hand-built rather than copied from list-backups.
  • Backup was deleted — an on-demand backup someone removed, or one aged out by a lifecycle policy.
  • Wrong region — the backup lives in the region where the source table lived; a client in another region can't see it.
  • Wrong account — the credentials resolve to a different AWS account than the one that owns the backup.
  • Backup still CREATING — a just-started backup isn't restorable until it's AVAILABLE.
  • AWS Backup vs native — recovery points managed by AWS Backup are restored through the AWS Backup APIs, not RestoreTableFromBackup directly.

How to fix it

  1. List the backups for the table and grab the real ARN:
    aws dynamodb list-backups --table-name <Table> --region <r>
  2. Verify it exists and is available:
    aws dynamodb describe-backup --backup-arn <arn> --region <r>
  3. Pin the region to where the source table (and its backup) lived.
  4. Confirm the account with aws sts get-caller-identity.
  5. Restoring an AWS Backup recovery point? Use the AWS Backup console/APIs, not the native DynamoDB restore call.

Console なしで DynamoDB を扱う

DynoTable は DynamoDB 向けの高速なデスクトップクライアントです — テーブルを閲覧し、SQL スタイルのクエリを実行し、アイテムをローカルで編集できます。