node-red-contrib-firebase-adminのクレデンシャルを設定して、FirebaseのRealtime Databaseをenebularで使ってみます。
作成例
用意するもの
- Firebase
- プロジェクトが作成済みであること
- Realtime Databaseが作成済みであること(開始モードはテスト、ロックどちらでも可)
- enebular
- プロジェクトが作成済みであること
手順
Firebase
サービス アカウント用の秘密鍵ファイルを生成する
すでに秘密鍵ファイルを生成して所有しているならば、この手順はスキップできます。
- Firebase コンソールで、[設定] > [サービス アカウント] を開きます。
- [新しい秘密鍵の生成] をクリックし、[キーを生成] をクリックして確定します。
- キーを含む JSON ファイルを安全に保管します。
image-1
enebular
node-red-contrib-firebase-adminをインストールする
- 編集したいフローを開きます。
- [パレットの管理] > [ノードを追加] で
node-red-contrib-firebase-admin
を検索して、インストールします。
image-2
新規に firebase-config を追加する
- パレットの
rtdb get
ノードをワークスペースに配置します。 -
rtdb get
ノードをダブルクリックして、ノードを編集します。 - [Credentials] の鉛筆アイコンを、
新規に firebase-config を追加
の状態でクリックして設定画面を開きます。 -
image-1で取得したクレデンシャルを入力します。
- [Firebase Service Account Credentials] にJSONファイルの内容を丸ごと貼り付けます。
- [Firebase Database URL] に
databaseURL
を貼り付けます。
- [追加]ボタンをクリックして保存します。
image-3
Realtime Databaseのデータを取得する
まずダミーデータとして、Realtime Databaseに以下のような適当な値を保存しておきます。
{
"parent": {
"child1: "happy"
}
}
-
inject
ノードのpayloadにJSON形式で、{"path":"parent"}
と入力します。 -
inject
ノードとrtdb get
ノードをつなげます。 - フローを保存します。
取得できました