node-red-contrib-firebase-adminを設定してRealtime Databaseを使う


node-red-contrib-firebase-adminのクレデンシャルを設定して、FirebaseのRealtime Databaseをenebularで使ってみます。

作成例

用意するもの

  • Firebase
    • プロジェクトが作成済みであること
    • Realtime Databaseが作成済みであること(開始モードはテスト、ロックどちらでも可)
  • enebular
    • プロジェクトが作成済みであること

手順

Firebase

サービス アカウント用の秘密鍵ファイルを生成する

すでに秘密鍵ファイルを生成して所有しているならば、この手順はスキップできます。

  1. Firebase コンソールで、[設定] > [サービス アカウント] を開きます。
  2. [新しい秘密鍵の生成] をクリックし、[キーを生成] をクリックして確定します。
  3. キーを含む JSON ファイルを安全に保管します。

image-1

enebular

node-red-contrib-firebase-adminをインストールする

  1. 編集したいフローを開きます。
  2. [パレットの管理] > [ノードを追加] で node-red-contrib-firebase-admin を検索して、インストールします。

image-2

新規に firebase-config を追加する

  1. パレットのrtdb get ノードをワークスペースに配置します。
  2. rtdb get ノードをダブルクリックして、ノードを編集します。
  3. [Credentials] の鉛筆アイコンを、新規に firebase-config を追加 の状態でクリックして設定画面を開きます。
  4. image-1で取得したクレデンシャルを入力します。
    1. [Firebase Service Account Credentials] にJSONファイルの内容を丸ごと貼り付けます。
    2. [Firebase Database URL] に databaseURL を貼り付けます。
  5. [追加]ボタンをクリックして保存します。

image-3

Realtime Databaseのデータを取得する

まずダミーデータとして、Realtime Databaseに以下のような適当な値を保存しておきます。

{
  "parent": {
    "child1: "happy"
  }
}
  1. inject ノードのpayloadにJSON形式で、{"path":"parent"} と入力します。
  2. inject ノードとrtdb get ノードをつなげます。
  3. フローを保存します。

取得できました