firebase-adminを使ってCloud FunctionからCloud Storageにファイルアップロードする方法




firebase-adminとは

firebase-adminはadminと付くようにFirebaseの機能全てにアクセスできるモジュールでGoalng、Node.js、Python、Java、C#のものが公式から用意されています。

今回はこのfirebase-adminのNode.jsモジュールを使ってCloud Storageにファイルアップロードを行う方法を解説したいと思います。

インストール

npmで簡単にインストールできます。

$ npm install --save firebase-admin

firebase-adminを使ったファイルアップロード処理

まずは初期化処理

サービスアカウントの情報が記載されたjsonファイルをGCPのIAMと管理>サービスアカウントから作成してダウンロードしてください。

storageBucketは使用するデフォルトバケットを初期化時に設定できます。

import * as admin from 'firebase-admin';

var serviceAccount = require('path/to/serviceAccountKey.json');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  storageBucket: '<BUCKET_NAME>.appspot.com'
});

ファイルアップロード処理

ファイルアップロード処理はこれだけで、アップロード先のパスを指定して,save()メソッドの引数にファイルを渡すだけです。

const fileUpload = async (): Promise<any> => {
    const bucket = admin.storage().bucket();
    const filePasth = 'path/to/file/sample.txt';
    const file = bucket.file(filePasth);
    const txt = 'sample text';
    await file.save(txt).catch(error => {
        console.log(error);
    });
};

このメソッドをCloud FunctionやNode.jsサーバから呼び出すことでファイルアップロードができるのでぜひ参考にしてみてください。

 

 

The following two tabs change content below.

髙妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です