3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

enebular_uhuruAdvent Calendar 2021

Day 12

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

Last updated at Posted at 2021-12-11

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

作成例

image-4.png

用意するもの

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

手順

Firebase

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

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

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

image-1

image-1.png

enebular

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

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

image-2

image-2.png

新規に 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

image-3.png

Realtime Databaseのデータを取得する

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

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

取得できました :tada:

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?