「Cloud Functions for Firebase」の版間の差分
ナビゲーションに移動
検索に移動
(→サンプル) |
(→サンプル) |
||
| 19行目: | 19行目: | ||
==サンプル== | ==サンプル== | ||
*https://firebase.google.com/docs/functions/get-started?hl=ja | *https://firebase.google.com/docs/functions/get-started?hl=ja | ||
| − | + | ===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
環境構築
- https://firebase.google.com/docs/functions/get-started?hl=ja
- Cloud Functions for Firebase の開発環境をととのえる
処理
典型的な使用例
関心事が発生したときにユーザーに通知
データベースのサニタイズとメンテナンスを実行
アプリではなくクラウドで集中的なタスクを実行
サードパーティのサービスおよび API と統合
サンプル
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 コンソールに登録された
- 呼び出してみる
- Firestoreに登録された
© 2006 矢木浩人



