プログラミング バックエンド

【Javascript】Amazon S3からオブジェクト(ディレクトリ)内のファイルパス一覧を取得する方法

スポンサーリンク

こんにちは!

今回は「JavascriptでAmazon S3からオブジェクト(ディレクトリ)内のファイルパス一覧を取得する方法」についてお伝えしたいと思います。

バックエンド(Expressを例にしています)で取得する方法で、AWSの設定などは触れていませんのでご了承ください。

Amazon S3からオブジェクト(ディレクトリ)内のファイルパス一覧を取得する方法

以下はExpressでバックエンドからファイルパス一覧を取得する例です。
必要に応じて、置き換えて活用いただければと思います。

const s3 = new AWS.S3();
exports.getImagePathList = async (data) => {
  const prefix = 'images/'; // 取得したいオブジェクト名を指定
  const params = {
    Bucket: process.env.AWS_BUCKET_NAME, // AWS_BUCKET_NAME='test-bucket'
    Prefix: prefix, // 省略可能
    Delimiter: '/', // 省略可能
  };
  return s3.listObjects(params).promise().then((res) => {
    const resultArr = [];
    for (const data of res.Contents) {
      resultArr.push(data.Key);
      console.log(data.Key); // images/example1.png images/example2.png images/example3.png ・・・
    }
    // (必要に応じてソート処理などを記述)
    return resultArr;
  });
};

ファイル名のみを取得したい場合はString.split().関数などを使って、String.split('/')[1]と記述すれば取得可能です。

以上、お疲れさまでした〜🍵

スポンサーリンク

-プログラミング, バックエンド
-

© 2022 エンジニア×ライフハック Powered by AFFINGER5