Node.js(Lambda)でS3のファイル存在チェックをする方法

Node.js(Lambda)でS3のファイル存在チェックをする方法

Node.jsでファイル存在確認をするメソッドがないようなので、getObjectメソッドを利用して存在する場合はtrue、存在しない場合はfalseを返すexistFileメソッドを作成します。

const AWS = require('aws-sdk');
const S3 = new AWS.S3({'region':'ap-northeast-1'});
exports.handler = async (event) => {
let params = {
'Bucket': 'バケット名',
'Key': 'hoge/sample.json'
}
const data = await existFile(params)
}
async function existFile(params){
let bool = true
await S3.getObject(params).promise().catch(e=>{
bool = false
})
return bool
}

view raw
gistfile1.txt
hosted with ❤ by GitHub

getObjectメソッドでファイルが存在しない場合はcatchされますので、await-catch句でfalseにします。

JavaではdoesObjectExistメソッドが用意されているようです。

JavaでS3のオブジェクトが存在するしないを確認する方法

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA