top
技術

はじめに

Firebase Storage を使う機会があって、メタデータをセットする必要があったのですが、サーバー側から利用する Firebase Admin SDK 経由のセット方法の記事が全然ヒットしなかったので、備忘録として残しておきます。

本題

Firebase にアクセスする方法は2通りあります。

今回は、Firebase Admin SDK 経由のセット方法を記述します

名称場所内容
Firebase SDKクライアントユーザー側が利用する SDK
Firebase Admin SDKサーバー管理者側が利用する SDK

コード

Node.js のサンプルコードです。

FIREBASE_CREDENTIALS と STORAGE_BUCKET は、適切に設定してください。

import { cert, initializeApp } from 'firebase-admin/app';
import { getStorage } from 'firebase-admin/storage';
import fs from 'fs/promises';

initializeApp({
    credential: cert(FIREBASE_CREDENTIALS),
    storageBucket: STORAGE_BUCKET
});
const bucket = getStorage().bucket();

const data = await fs.readFile("path/to/source/image.png");
const file = bucket.file("path/to/destination/image.png");

await file.save(data);
file.setMetadata({
    contentType: 'image/png',
    metadata: {
        custom1: 'value1',
        custom2: 'value2'
    }
});

実行結果

Image

参考

https://googleapis.dev/nodejs/storage/latest/File.html#setMetadata