Node-REDでは、Tulip Tableノードを使用して、データをTulipへ送付する事が可能です。
Tulipのノードは一般公開されております。
https://flows.nodered.org/node/@tulip/node-red-tulip-api
上記のページにも利用方法を記載しております。
Tulip Tableノードは、Tulip APIを使用してデータをTulipに送付しています。Tulip APIについての詳細は、以下を参考にしてください。
https://[ インスタンス名 ] .tulip.co.jp/apiDocs
Node-REDの設定
- Node-REDの左側より、Tulip配下にあるtablesノードを配置します。
- 編集画面になりますので、まず、「新規にtulip-api-authを追加」の横のペンのマークをクリックします。
- 以下のように入力します。
Protocol https Factory URL App Editorにアクセスする際のサイト名を入力します。
例)xxxxxxx.tulip.co.jp
Port 443 API Key API Keyを入力します API Secret API Secretを入力します - Query Typeでやりたいことを選びます。選んだものによって必要なQuery Optionsが表示されます。
APIでできる事の一覧が以下にありますので参考にしてください。
https://tulip.co/developer/tulip-api-docs/ - 設定後はノードの設定を保存して、右上のデプロイボタンをクリックしてください。
詳細設定例
- レコードに関する操作
Query Typeにて、実行する作業を選択します。たとえば、「Count Record」を選択するとレコードをカウントできます。「Create a record」を選択するとレコードを作成する事ができます。
Query OptionsにてTable IDを入れます。
Table IDは、AppEditorでテーブルを開いたとき、URLの「table/」の後の部分です。 - 実際のレコード部分
レコードを作成するときなど、Tulipにデータを投げる場合は、msg.bodyに、実際に作成したいレコードのデータを入れておきます。レコードを作成する場合、ID(msg.body.id)は必須です。
ID以外の項目の項目名が知りたいときは、App Editorでテーブルを開き、それぞれの項目名の右側の(i)にカーソルを合わせると「ユニークフィールドID」として表示されますので、となりにあるコピーボタンをクリックすると値をコピーすることができます。 - レコードを絞り込む場合
レコードを絞り込む場合、msg.filtersに、あらかじめフィルタ条件を入れておくと、その条件でレコードを絞り込むことができます。レコードを出力する際や、レコード数をカウントする際などに利用できます。
msg.filtersは、以下の形式になります。
"filters":[{"field": "xxxxx", "functionType": "yyyyy", "arg": "zzzzz"}]
fieldは項目名、fucntionTypeはequal, notEqual, blankなど、argは比較対象の値になります。複数のfilterを入れる事もできます。
結果の確認
Tablesノードのステータスコードによって、何が発生しているのかをある程度判別する事ができます。
実行する作業内容によって少し変わりますが、主なコードと発生するタイミングは以下の通りです。
200 成功時に表示されます。
400 リクエストの形式が間違っている場合に表示されます。
401 認証情報が誤っている場合に表示されます。
403 使用しているAPIが、実行に必要な権限を持っていない場合に表示されます。
422 リクエストは正しく処理されていますが、内部に問題があって実行できなかった場合にこのエラーになります。たとえば、すでに同じIDのレコードがあるのにレコードを作成しようとしたなどの場合がこれにあたります。
※Node-REDはOpenJS Foundationの商標または登録商標です。