Microsoft Dynamics 365 Guides と Microsoft Flow 経由で Node-RED を連携するメモ

Microsoft Dynamics 365 Guides と Microsoft Flow 経由で Node-REDを連携するメモです。

Microsoft Dynamics 365 GuidesをHoloLens1で動かせた

このたび、組織アカウントを作って、Microsoft Dynamics 365 GuidesをHoloLens1で動かすことができました。2019/05/24時点の情報です。

いろいろ苦労したのですが、今となってはいい思い出です。

  • 組織アカウントを取るためにDNSをいじったりするフローがあり久々にドメイン処理した
  • Microsoft Dynamics 365 Remote Assistのほうを使うために、Teamを導入しようとして、Officeアカウントの取得まわりでライセンス割当で四苦八苦
  • その後、ライセンスを買ってあるのに、相手のアカウントにTeamを割り当て忘れてて、うまく通信できず
  • とはいえ、そこは、うまく割り当てることができ無事Remote Assistが成功
  • つづいて、Microsoft Dynamics 365 Guides にトライ
  • Guides プレビューの概要からいろいろと導入
  • 詳細の手順あたりで、Common Data Serviceの設定の感覚がわからず、迷ったが、Microsoft 365 Admin Centerの存在がよく分かってなかったことが分かり無事発見
  • Dynamics 365 Guides and Microsoft PowerApps Plan 2のインストールまで来たら後はかなり手順通りですんなり。
  • 認証や初期設定はいろいろと理解しきれてないけどGuides表示まで行く

このあたりは、トライアンドエラーを繰り返し、世界観がわかったので、なんとか辿り着くことができました。

なにはともあれデータを取得したい

いろいろと調べたところ、Guidesの挙動は、逐一Common Data Serviceの中に保存されていくようです。データベースみたいなものですね。

image

実際、Dynamics 365のGuides Hubを見に行くと、

image

今回、私が作った2つのGuidesと一致する名前がありました。

image

このあたりですね。

image

Example Guidesのほうが自分で作った、ごくごく単純なプロジェクトです。様々なUIがありますが、

このあたりを参考にMicrosoft FlowでCommon Data Serviceの変更を拾ってGuidesのデータを連携できるようにします。

image

クリックするとFlowの画面に飛びます。

image

Common Data Serviceのデータ変更をトリガーにしているものを選びました。

image

まず、環境・エンティティ名・スコープと聞かれましたが、環境は、候補で今回の環境名が出たのでそれをクリックして設定しました。

エンティティ名は、

image

という候補が出たので、Guides Eventに設定。スコープは広めを意識して Bussiness unit に設定。

image

Guides Eventに操作ログが入っているのに気づくまでにかなり検証しました。

image

つづいて、HTTPの送り先も設定してざっくりとデータを設定します。

image

動的ないろいろあるようなので、今度、掘り下げて検証してみようと思います。

Node-REDの設定

Node-REDの設定はシンプルです、さきほどのHTTPを受け取ります。

image

これで設定完了です。

image

image

いろいろと操作してみます。

image

Guides Eventsログが溜まっています!

Node-REDには最大1分後までにデータが届く

Node-REDには最大1分程度待ちますがちゃんとデータ来ます。これはFlow側が定期的にCommon Data Serviceへチェックに行き通知するようで、即座に送られるわけでは無さそうです。

image

ただし、タイミングが良いと直感的というか即座っぽく反応することもあるので、もう少し検証すべきでしょう。

webhook を使用してサーバー イベントの外部ハンドラーを作成する (Common Data Service) – PowerApps | Microsoft Docs

といったアプローチもあるようなので、もっと即座に送られるものもあるのかもしれません。

ひとまず、これが出来ると、一刻を争うようなシビアなタイミングは難しいですが、Guides内の行動ログをある程度連動させて「Guides内でチュートリアルが一通り終わったら他のデバイスに通知して何かアクションさせる」といったことが、より柔軟に対応できる未来を感じます!

引き続き、試していきます。それではよき、 Dynamics 365 & HoloLens Life を!