[Node.js] AWS.S3.getObject メソッドを実行したときにファイルが存在しなかった場合のエラーを見分ける (AWS SDK for JavaScript v2)
作成日: 2022年08月01日
AWS.S3.getObject
メソッドで取得しようとしたときに、Key
に存在しないファイルを指定すると、エラーがスローされます。そのエラーを try-catch
構文で捕捉し、エラーオブジェクトの code
プロパティのエラーコードを判別することでエラーの種類を判別することができます。下記のコードでは、ファイルが存在しないときに発生する NoSuchKey
エラーの場合に、ログを出力してプログラムを終了しています。
const AWS = require("aws-sdk");
async function main() {
const s3 = new AWS.S3({
region: "ap-northeast-1",
});
const result = null;
try {
result = await s3
.getObject({
Bucket: "dummy.s3.example.com",
Key: "dummy_files/dummy_file_does_not_exist.txt",
})
.promise();
} catch (e) {
if (e.code === "NoSuchKey") {
console.log("the file does not exist");
return;
}
}
console.log(result.Body.toString());
}
main();
実行結果は下記のとおりです。
the file does not exist