AWS S3: NoSuchKey
AWS S3でオブジェクトが存在しない場合のエラー
概要
AWS S3で指定したキー(オブジェクトパス)が存在しない場合に発生するエラーです。
エラーメッセージ
An error occurred (NoSuchKey) when calling the GetObject operation: The specified key does not exist.
または
| |
原因
- キーの誤り: パスやファイル名のタイポ
- オブジェクト未作成: アップロードされていない
- 削除済み: オブジェクトが削除された
- バージョニング: 特定バージョンが存在しない
解決策
1. キーの存在確認
| |
2. 正しいキー形式
| |
3. エラーハンドリング(Python)
| |
4. エラーハンドリング(JavaScript)
| |
5. headObject で事前確認
| |
6. バージョニング確認
| |
7. 削除マーカーの確認
| |
8. プレフィックスでリスト取得
| |
9. 署名付きURLの有効期限
| |
よくある間違い
- URLエンコードされたキー(スペースが
%20になる) - Windows形式のパス区切り(
\ではなく/を使用) - バケット名とキーの混同
- レプリケーション遅延でオブジェクトがまだコピーされていない
AWS の他のエラー
AccessDeniedException: User is not authorized
ECS CannotPullContainerError
AccessDenied: User is not authorized to perform sts:AssumeRole
IncompleteSignature: The request signature we calculated does not match
MissingAuthenticationToken: Missing Authentication Token
SignatureDoesNotMatch: The request signature we calculated does not match
この記事は役に立ちましたか?