Firebase Cloud FunctionsのHTTPトリガーを使ってみる

Firebase Cloud FunctionsのHTTPトリガーを使ってみる

前提

Blazeプラン(従量課金)であること。※Sparkプランだとデプロイでエラーになります

プロジェクト作成

firebase init functionsコマンドを実行します。

jsかtsを選択できますがここではjsを選択しています。

WindowsでFirebase Cloud FunctionsのHTTPトリガーを使ってみる

  • Do you want to use ESLint to catch probable bugs and enforce style? Y
  • Do you want to install dependencies with npm now? Y

上記2つとも共に「Y」にします。

WindowsでFirebase Cloud FunctionsのHTTPトリガーを使ってみる

functionsフォルダが作成されます。このフォルダがnodeプロジェクトになっていることがわかります。

index.js

functionsフォルダのindex.jsに関数を追加していってHTTPトリガー(HTTP関数)を実装していきます。

デフォルトでは下から4行がコメントされているので、そのコメントを外しました。

このindex.jsにHTTPトリガー(HTTP関数)を実装したら最後にデプロイする、という流れです。

このコマンドでデプロイします。

WindowsでFirebase Cloud FunctionsのHTTPトリガーを使ってみる

「Deploy complete!」と表示されたらOKです。その下に「Project Console:~~」と表示されているURLを開きます。

WindowsでFirebase Cloud FunctionsのHTTPトリガーを使ってみる

「helloWorld」という関数が追加されています。

HTTP関数実行

curlコマンドで実行してみます。

正常に標準出力されました。

HTTPリクエスト経由で関数を呼び出しできるのがHTTPトリガーとなります。

関数はindex.jsに別名で追加していきます。

index.jsを編集したらデプロイします。

WindowsでFirebase Cloud FunctionsのHTTPトリガーを使ってみる

正常デプロイ出来たら、コンソールに新たな関数(helloworldquery)が追加されていることが確認できます。

request

curlでコマンド実行した際の値をrequestから取得します。(Content-Type:application/json)

プロパティ/メソッド
request.query.key value クエリパラメータ
request.method POST HTTPメソッド
request.body.name Bob リクエストボディ
request.get(‘X-MyHeader’) 123 ヘッダ情報
request.rawBody リクエストのRAW(未解決の)バイト数

東京リージョンに変更

リージョン省略時は、アイオワリージョン(us-central1)になります。

東京リージョンに変更するには.region('asia-northeast1')を追加します。

これで東京リージョン(asia-northeast1 )に変更されます。

Firebase Cloud FunctionsのHTTPトリガーを使ってみる

ローカルテスト

デプロイする前に必ずローカルでテストします。

emulatorを起動します。functionsはデフォルトポートは5001です。

URL形式は以下の通りです。

このURLをcurlコマンドで叩けばテストすることが出来ます。

ドキュメント

https://firebase.google.com/docs/functions/http-events?hl=ja

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

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

CAPTCHA