UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【GCS】AppEngineからGCSにある画像のSigned URLの一覧を取得する

AppEngineからGCSにある画像のSigned URLの一覧を取得したい

こちらの記事が参考になった

medium.com

ツールのための簡易的なアプリケーションのため最低限の構成とする

まず、権限をつける

  • サービスアカウントを作成する
  • App Engine 管理者とストレージ管理者の権限をつける

次に、ライブラリのインストール

$ npm install --save @google-cloud/storage

最後にapp.js

const express = require('express');
const {Storage} = require('@google-cloud/storage');

const storage = new Storage({
  projectId: "",
  keyFilename:""
});
const bucket = storage.bucket("my-bucket");

async function getSignedUrl() {
  const files = await bucket.getFiles().catch(err => {
    throw err;
  });

  const signedUrls = await Promise.all(
    stgFiles[0].map(async file => {
      const signedUrl = await file.getSignedUrl({
        action: "read",
        expires: Date.now() + 3600000
      }).catch(err => {
        throw err;
      });

      return signedUrl;
    })
  );

  return signedUrls;
}

他参考

https://cloud.google.com/storage/docs/reference/libraries?hl=ja#cloud-console

https://cloud.google.com/storage/docs/access-control/signed-urls?hl=ja