firebase-admin を使って Cloud Storage for Firebase のファイル一覧を取得する
firebase-admin
を利用して、 Cloud Storage for Firebase の任意のディレクトリに存在するファイルの一覧を取得したかったのですが、
公式のAdmin Cloud Storage API の概要を読んでも、 admin.storage().bucket()
から先の使い方がさっぱり分からなくて困り、調べた結果を記録します。
getFiles を使う
例えば、 gs://xxxxx.appspot.com/users/${uid}/photos/*.png
の画像一覧が欲しいようなケースでは、initializeApp
の storageBucket
に xxxxx.appspot.com
を指定し、
bucket#getFiles を使って、 directory を directory: users/${uid}/photos/
と指定すれば取得できます。
そこから、ファイルのURLが欲しい場合は、bucket#getSignedUrl を使いましょう。
const admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.cert(require(certFilePath)),
storageBucket: "xxxxx.appspot.com"
});
const bucket = admin.storage().bucket();
const files = await bucket.getFiles({
directory: `users/${uid}/photos/`
});
for (const item of files[0]) {
const url = await item.getSignedUrl({
action: 'read',
expires: '01-01-2021'
});
console.log(url);
}
Author And Source
この問題について(firebase-admin を使って Cloud Storage for Firebase のファイル一覧を取得する), 我々は、より多くの情報をここで見つけました https://zenn.dev/tgfjt/articles/e960641d160b7d41a36f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol