見出し画像

Cloud Functions for Firebase を試す

「Cloud Functions for Firebase」を試したので、まとめました。


1. Cloud Functions for Firebase

Cloud Functions for Firebase」は、Firebaseのサーバレスフレームワークです。サーバーレスは、サーバーの構築や保守をすることなく、サーバー上でプログラムを実行できる仕組みです。HTTPアクセスやデータベース更新がトリガーになります。

2. 使用料金

使用料金は、次のとおりです。試すための無料枠もあります。

現在の使用料金は、Firebaseプロジェクトの「歯車アイコン→使用量と請求額」で確認できます。

3. プロジェクトの準備

プロジェクトの準備の手順は、次のとおりです。

(1) Firebaseコンソールで、Firebaseプロジェクトを作成。

(2) PCのコンソールで「Node.js」をインストール。

(3) 「firebase-tools」のインストール。

$ npm install -g firebase-tools

(4) Firebaseにログイン。
ブラウザのログイン画面が開くのでログインします。

$ firebase login

(5) プロジェクトフォルダを作成。

$ mkdir helloworld
$ cd helloworld

(6) プロジェクトの初期化の開始。

$ firebase init functions

(7) プロジェクトの作成で、「既存プロジェクトの使用」(Use an existing project)を選択。
上下キーとEnterで選択します。

? Please select an option: (Use arrow keys)
❯ Use an existing project
  Create a new project
  Add Firebase to an existing Google Cloud Platform project
  Don't set up a default project 

(8) プロジェクトの選択で、先程作ったFirebaseプロジェクトを選択。

? Select a default Firebase project for this directory: (Use arrow keys)
❯ test-123456 (Test) 

(9) 言語の選択で「JavaScript」を選択。

? What language would you like to use to write Cloud Functions? (Use arrow keys)
❯ JavaScript 
  TypeScript

(10) ESLintを使うかどうかで、デフォルト(N)を選択。
Enterキーのみでデフォルトになります。

Do you want to use ESLint to catch probable bugs and enforce style? (y/N)

(11) 依存関係をインストールするかどうかで、デフォルト(Y)を選択。

? Do you want to install dependencies with npm now? (Y/n)


次のような構成のプロジェクトフォルダができます。

・firebasejson
・functions
        ・index.js
        ・node_modules
        ・package-lock.json
        ・package.json

4. 関数の作成

関数の作成手順は、次のとおりです。

(1) 「functions/index.js」を以下のように編集。
HTTPアクセス時に"Hello from Firebase!"という文字列を返すプログラムになります。

const functions = require("firebase-functions");

exports.helloWorld = functions.https.onRequest((request, response) => {
    functions.logger.info("Hello logs!", {structuredData: true});
    response.send("Hello from Firebase!");
});

5. 関数のローカルでの動作確認

関数のローカルでの動作確認の手順は、次のとおりです。

(1) ローカルサーバの起動。
起動成功すると、アクセス先URLが表示されます。

$ firebase serve
http function initialized (http://localhost:5001/test-123456/us-central1/helloWorld).

(2) ブラウザでアクセス先URLを開く。

6. 関数のデプロイ

関数のデプロイの手順は、次のとおりです。

(1) 関数のデプロイ。

$ firebase deploy --only functions

完了すると次のようなログが表示されます。

Function URL (helloWorld(us-central1)): https://us-central1-test-123456.cloudfunctions.net/helloWorld

(2) 「Function URL」をブラウザで開く。
関数の実行を確認します。

7. デプロイした関数の削除

デプロイした関数の削除の手順は、次のとおりです。

(1) Firebaseプロジェクトの「構築 → Functions」で削除する関数の「︙」から「関数を削除」を選択。
ログの確認もここでできます。

参考

次回



この記事が気に入ったらサポートをしてみませんか?