AppEngineからGCSにある画像のSigned URLの一覧を取得したい
こちらの記事が参考になった
ツールのための簡易的なアプリケーションのため最低限の構成とする
まず、権限をつける
- サービスアカウントを作成する
- 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