こんばんわー爆  笑

 

あっという間に8月ですね・・・

夏なのにぐずついた天気で何だかスカッとしませんね・・・雨

 

さて、今回はBluemixのNode-REDを使ってDominoのデータをCSVに書き出してBOXに保存してみたいと思います照れ

 

注意

はじめにBOX APIを使用する(OAuth2.0を利用する )のでWatsonWorkServicesと同じようにMy Appを作成しなければなりません。

boxアカウント持っている場合は、MyAppsからログインして

持っていない場合はSignUpで無料の開発者用のアカウントを作成する必要があります。

 

作成方法は以下のリンクから

https://developer.box.com/docs/getting-started-box-integration#section-using-the-box-api

 

また、Domino側もREST APIの設定が完了していないといけません。

詳しい設定方法は、IBM Championの御代様のブログで紹介されています。

Notes/Domino でREST APIを使ってみよう-前半-

 

では、本題に・・・

まずは完成形のNode-REDですキラキラ

こちらを使ってDominoにあるDB名とパス名(ファイル名)を取得したいと思います。

 

今回、Dominoのデータを簡単に取得できるように「node-red-contrib-domino-rest」を使用しています。

node-red-contrib-domino-rest については、作成者であるIBM Championの吉田様のブログで紹介されています。

Node-RED から Domino へアクセスするためのノードを公開

 

ポイントとなるノードだけ紹介します。

まずはBOXノードです。

こちらは自分で追加しなければいけません。

 

追加方法を紹介します。

1)Node-REDの右上のハンバーガーメニューから「設定」をクリックします。

 

2)Paletteをクリックしてノードを追加タブをクリックします。

 

3)虫眼鏡アイコンのところに「node-box」と入力すると、

「node-red-node-box」が表示されますので、[ノードを追加]をクリックします。

 

4)警告出ますが勇気を出して[追加]をクリックします。

 

追加しているようです・・・

 

5)追加されると画面の上からも通知されますが、

以下のイメージのように[追加しました]と表記が変わっていることを確認できます。

確認できたら[閉じる]をクリックします。

※node-red-contrib-domino-restも同じ手順で追加しましたw

 

パレットから探してみると・・・

追加されていますねOK

 

パレットからBOXノードを配置して設定を行います!

マウスでつかんでドラッグ&ドロップするだけですので配置は簡単ですねニヤリ

 

追加したBOXノードの設定方法です。

Node-REDのページは閉じずに開いたままにしておいてください。

 

1)BOX My Appページを開きます。

このページに記載のある「クライアントID」「クライアント機密コード」を控えます。

このまま開いたままにしておいてください。

 

2)Node-REDに戻り、先ほど配置したBOXノードをダブルクリックして、下記イメージの場所にある鉛筆ボタンをクリックします。

 

英語でよくわかりませんが、

赤枠で囲んでいるURLをRedirect URIsに入れとけ的なことが書いてありますので、

マウスでなぞってコピーします。

 

3)BOX My AppページのOAuth 2.0リダイレクトURIに

先ほどコピーしたURLを貼り付けます。

 

右上の[変更を保存]ボタンをクリックして保存します。

 

4)Node-REDのBOXノードの画面に戻り、

1で控えた「クライアントID」と「クライアント機密コード」を「Client ID」と「Secret」に貼り付けます。

[Authenticate with Box]ボタンをクリックします。

 

 

5)認証の確認ページが開きます。

問題ないはずなので[Boxへのアクセスを許可]をクリックします。

 

6)認証しました-このページを閉じてNode-REDに戻れば?的なページが表示されます。

以下の言葉が確認できたらこのページを閉じます。

 

7)問題なく追加されていることが確認できたら[追加]をクリックします。

 

8)Filename欄に保存先と保存するファイル名(拡張子付き)を入力します。

筆者のBOXには「NotesDomino」というフォルダがありますので、

その配下に保存したいと思います。

 

以上でBOXノードの設定は完了です。

 

次にポイントとなるノードは「CSV」ノードです。

 

CSVノードはパレットにもともとあるので、設定だけですね。

BOXノードと同じようにパレットからCSVノードを配置して

配置したノードをダブルクリックします。

 

1)列名にカラムのヘッダーを入力します。

 

2)下にスクロールし、「オブジェクトからCSVへ変換」にある「1列目を列名とする」にチェックを入れて[完了]をクリックします。

 

以上でCSVノードの設定は完了です。

 

※FunctionノードでDominoから出たJSONをこねこねして、CSVノードに渡してくださいね!!

 

さあ、動かしてみましょうおねがい

timestampノードを手動実行させます。

 

BOXを確認しましょう目

筆者のNotesDominoフォルダには何もありませんでしたが以下のようなメッセージが・・・

 

更新するとCSVファイルが追加されていました。

 

中身を確認すると、ちゃんと書き出されていました。

もちろんダウンロードも可能です。

 

今回は、Domino→Node-RED(Bluemix)→BOXと繋げてみました拍手

 

最後までお読みいただきありがとうございました笑い泣き

結構長かったと思います。

(筆者も昼から書き始めて気が付いたら夜になってましたw)

 

今日はこの辺で・・・

 

 

あでゅーバイバイ

 

AD