Cloud Functions for Firebase について

0

Cloud Functions for Firebase を使ってみる

Cloud Functions for Firebase は、Firebase の各サービスに対するトリガーや、HTTP リクエストに応じて、様々な処理を行わせることができるサービスです。

HTTP トリガーを使うことによって、Web API を公開することができます。

導入方法

まず、Firebase CLI をインストールしておく必要があります。

(以前紹介しました こちら の記事などを参考にして下さい。)

適当なフォルダを作成し、その中に移動します。

$ firebase init functions

使用するプロジェクトや使用言語などを返答します。

ここでの説明では、JavaScript を使用します。

コマンドが完了すると、complete と表示されます。

フォルダ内に functions というフォルダが出来ています。

その中に index.js というファイルがあります。これを編集します。

コメントを外して以下のようにします。


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

// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions

exports.helloWorld = functions.https.onRequest((request, response) => {
    response.send("Hello from Firebase!");
});

動作確認

ローカルエミュレータで動作確認してみます。

以下のようにコマンドします。

$ firebase emulators:start --only functions

起動が完了すると URL が表示されるので、ブラウザなどで開きます。

Hello from Firebase!

のように表示されたら成功です。

コンソールに Ctrl+C と入力すると、エミュレータを終了できます。

デプロイ

Firebase のサーバにデプロイしてみます。

以下のようにコマンドします。

$ firebase deploy --only functions

Firebase コンソールを開き、メニューから「Functions」を選択して下さい。

ダッシュボード に helloWorld という関数が登録されていれば成功です。

トリガーに書かれた URL を開くことで、動作をチェックできます。

GET パラメータの取得

先ほど作った helloWorld 関数に、パラメータを渡してみます。

スクリプトを以下のように書き換えます。

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

exports.helloWorld = functions.https.onRequest((request, response) => 
{
    var json = {
        "method": request.method,
        "foo": request.query.foo
    };
    response.send(JSON.stringify(json));
});

URL の末尾を以下のようにしてアクセスします。

helloWorld?foo=bar

すると以下のように表示されます。

{"method":"GET","foo":"bar"}

0
タイトルとURLをコピーしました