| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「Cloud Functions for Firebase」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
19行目: 19行目:
 
==サンプル==
 
==サンプル==
 
*https://firebase.google.com/docs/functions/get-started?hl=ja
 
*https://firebase.google.com/docs/functions/get-started?hl=ja
メッセージをFirestoreに保存する
+
===HTTP エンドポイント===
 +
*HTTPエンドポイントに対するリクエストを行うと、[[https://ja.wikipedia.org/wiki/Express.js Express.JS]] スタイルの Request オブジェクトと Response オブジェクトが onRequest() コールバックに渡されます。
 +
*呼び出し可能な関数と同様に HTTP 関数は同期的。
 +
*できるだけ早くレスポンスを送信し、Cloud Firestore による作業を遅らせる必要があります。addMessage() HTTP 関数は、テキスト値を HTTP エンドポイントに渡し、/messages/:documentId/original パスの下でデータベースに挿入する。
 +
 
 
  import * as functions from 'firebase-functions';
 
  import * as functions from 'firebase-functions';
 
  import * as admin from 'firebase-admin';
 
  import * as admin from 'firebase-admin';

2020年7月18日 (土) 15:57時点における版

Cloud Functions for Firebase

Firebase | Google Cloud Platform

環境構築

処理

典型的な使用例

関心事が発生したときにユーザーに通知

GoogleCloudFunctions UseCase1.png

データベースのサニタイズとメンテナンスを実行

GoogleCloudFunctions UseCase2.png

アプリではなくクラウドで集中的なタスクを実行

GoogleCloudFunctions UseCase3.png

サードパーティのサービスおよび API と統合

GoogleCloudFunctions UseCase4.png

サンプル

HTTP エンドポイント

  • HTTPエンドポイントに対するリクエストを行うと、[Express.JS] スタイルの Request オブジェクトと Response オブジェクトが onRequest() コールバックに渡されます。
  • 呼び出し可能な関数と同様に HTTP 関数は同期的。
  • できるだけ早くレスポンスを送信し、Cloud Firestore による作業を遅らせる必要があります。addMessage() HTTP 関数は、テキスト値を HTTP エンドポイントに渡し、/messages/:documentId/original パスの下でデータベースに挿入する。
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
admin.initializeApp();

export const addMessage = functions.https.onRequest((request, response) => {
    const original = request.query.text;
    admin.firestore().collection("message").add({original: original}).then(
        (data) => {
            response.json({result: `Message with ID: ${data.id} added.`});
        }
    ).catch(
        (e) => {
            response.json(e);
        }
    );
});
  • deploy
$ firebase deploy --only functions 
  • Firebase コンソールに登録された

Cloud functions sample3.png

  • 呼び出してみる

Cloud functions sample1.png

  • Firestoreに登録された

Cloud functions sample2.png