Power Apps データフローを使って、Sansan 名刺データを CDS に連携:CData Sansan Connector

by 杉本和也 | 2019年11月19日

こんにちは。CData Software Japan リードエンジニアの杉本です。

今月、ローコードのアプリ開発ツールで有名なPower Appsで個人的待望の機能アップデートがありました!

powerapps.microsoft.com

Power Appsでは、Power Apps上で使えるデータベースライクなCDSというサービスがあるのですが、このサービスに連携するためのデータフローというデータインテグレーション機能が存在します。

AccessやSharePointリストを元に、CDSのエンティティ(テーブルのようなもの)を自動生成し、定期的にデータを同期させてくれるというスグレモノです!

デフォルトでも30種類くらいのサービスに接続できるようになっているのですが、それを今回のリリースではCData的待望のODBCに接続できるようになりました!

f:id:sugimomoto:20191112193844p:plain

これにより、CDataで提供している 170種類を超えるデータソースもPower Apps/CDSにデータフロー経由で連携できます!

f:id:sugimomoto:20191112193911p:plain

今回はこのCData Drivers ラインナップの中から、最近リリースされました「Sansan」コネクターを使って、Sansanに登録された名刺データをCDSに連携する方法を紹介したいと思います!

実現イメージ

Power AppsデータフローはMicrosoftのクラウドベースのサービスなので、CData Driverと連携するために、オンプレミスゲートウェイと連携させる必要があります。

といっても、設定はクライアントマシンに各種製品をインストールして、認証情報を入力するのみで、特に難しいところはありません。

f:id:sugimomoto:20191112193919p:plain

必要なもの

  • CData Sansan Power BI Connector 中身はODBCなのですが、カスタムコネクターの設定ファイルが必要なので、こちらを使います。
  • オンプレミスデータゲートウェイ(こちらを参考にインストール・ログインしておいてください)

Power Apps/CDSの環境について

Power Appsの環境では、モデル駆動アプリで利用できるCDSにデータを連携するので、CDSの環境を予め構成しておいてください。

f:id:sugimomoto:20191112193927p:plain

エンティティを特別定義しておく必要はありません。データフロー実行時に自動的に生成されます。

※なお、今回オンプレミスデータゲートウェイを使用しますが、2019/11/13現在、PowerAppsのデフォルト環境と同じリージョンにCDSを構成しないと、オンプレミスデータゲートウェイが使えないようです。ご注意ください。

CData Sansan Power BI Connectorのインストールとセットアップ

以下のリンクから、評価版をダウンロードし、インストールを実施します。

CData Sansan Power BI Connector

f:id:sugimomoto:20191112193934p:plain

インストールそのまま、次へと進めていくだけでOKです。

f:id:sugimomoto:20191112193942p:plain

インストールが完了すると、以下のように接続設定画面が表示されるので、こちらの記事を元にSansan のAPI Keyを取得して、入力します。

f:id:sugimomoto:20191112194018p:plain

※Power Appsデータフローとの接続でビューの状態だとよく読み込まれない時があるようなので、Tablesのところに今回読み込み対象となるビューの「BizCards」を入力しておくと良いです。(今後解消されるかもしれません)

f:id:sugimomoto:20191112194022p:plain

なお、Sansan Connectorはデフォルトでは組織全体の名刺データを取得します。もし個人の名刺だけに絞りたい場合は、「Range」のパラメータを「me」に変更してください。

接続テストをクリックして、成功すれば設定完了です。

オンプレミスデータゲートウェイで Sansan コネクターを認識させる

次にオンプレミスデータゲートウェイに対して、インストールしたSansanコネクターを認識させます。

オンプレミスデータゲートウェイを立ち上げて「コネクタ」のタブに移動しフォルダパスから「C:\Program Files\CData\CData Power BI Connector for Sansan」を選択します。

f:id:sugimomoto:20191112194028p:plain

適用後、以下のようにカスタムデータコネクタが識別されれば、設定完了です。

f:id:sugimomoto:20191112194033p:plain

データフローの接続を構成する

それでは Power Appsの画面に移動して、データフローを作成してみましょう。

以下のようにPower Appsの画面から「データフロー」を選択し、「データフローを作成する」をクリックします。

f:id:sugimomoto:20191112194039p:plain

任意の名称を入力し、「作成」をクリック

f:id:sugimomoto:20191112194045p:plain

データソース一覧の中から「ODBC」を選択します。

f:id:sugimomoto:20191112194051p:plain

接続設定画面では、先程設定した接続情報を使うので接続文字列のところに「DSN=接続名称(今回の場合はDSN=CData Power BI Sansan)」を入力します。

オンプレミスデータゲートウェイからは、接続先のゲートウェイが表示されるので、それを選択

認証の種類は、現在のPower Apps データフローの仕様上、ODBC接続では必須みたいなので、Basicを選択し、適当な文字列を入力しておきます。(この文字列は使われないので、特に気にしなくて大丈夫です。)

f:id:sugimomoto:20191112194058p:plain

次の画面に進むと、対象のテーブル・もしくはビュー選択画面に移動します。以下のようにBizCardsテーブルを選択すると、プレビューが表示され、正常にコネクターとゲートウェイ経由でSansanの名刺データが参照できていることがおわかりいただけると思います。

このBizCardsテーブルを選択して、次へ進みます。

f:id:sugimomoto:20191112194105p:plain

クエリの編集画面では、特にカラムの変換など必要ない場合は、変更する必要はありません。そのまま次へ進んでも大丈夫です。

f:id:sugimomoto:20191112194112p:plain

そして、重要なエンティティマップです。ここで、CDSにエンティティを構成するための各種設定を実施します。今回は新しくエンティティを構成してしまうので、「新しいエンティティを読み込む」にチェックを入れます。

f:id:sugimomoto:20191112194119p:plain

デフォルトでは、対象フィールドのタイプが複数行テキストになってしまうので、これらを「テキスト」のタイプに変更し、最後にプライマリフィールドをBizcardIdへ設定すればOKです。

f:id:sugimomoto:20191112194128p:plain

また、もしデータの差分をCDS側に残しておきたい場合は、「クエリ出力に存在しない行を削除します」のチェックを外しておきましょう。

デフォルトでは、取得したデータに一致するレコードがCDSに無い場合、そのデータは削除されてしまいます。今回は名刺データのため、原則削除が発生しなものと思いますが、例えばスナップショット的に残しておきたい、といったチェックを入れておくと良いです。

f:id:sugimomoto:20191113135724p:plain

最後にデータの更新方法を選択します。せっかくなので、自動的に更新にしてみましょう。以下のように1時間ごとに更新というように設定しておけば、1時間毎に随時登録された名刺データが吸い上げられ、最新の名刺データがCDS上に登録されていきます。

設定後、「作成」をクリックすると、エンティティの作成と初期のデータ同期が開始されます。

f:id:sugimomoto:20191112194135p:plain

読み込みが開始されました。

f:id:sugimomoto:20191112194143p:plain

最終的に以下のように「完了済み」になればOKです。

f:id:sugimomoto:20191112194150p:plain

それでは実際に作成されたエンティティを見てみましょう!

データタブの「エンティティ」を選択すると、自動的に生成された「BizCards」エンティティが一覧に含まれていることがわかるかと思います。

f:id:sugimomoto:20191112194157p:plain

BizCardsエンティティを選択すると、フィールドも正常に全項目作成されていました。なかなかこの項目定義は面倒なので、こういった形でデータフローが自動的に作成してくれると、大変楽でありがたいですね。

f:id:sugimomoto:20191112194205p:plain

データも見てみましょう。以下は少しビューをいじっていますが、正常に名刺データが連携されたことが確認できます。

f:id:sugimomoto:20191112194212p:plain

おわりに

このような形で、通常であれば、APIをゴリゴリといじってデータ連携処理を構築しなければいけないところを、Power AppsのローコーディングプラットフォームとCData Connectorの組み合わせだけで、手軽にデータ連携を行うことができます。

今回はSansanの名刺データを連携しましたが、CDataではSansan以外にもSAPやNetsuiteといったERP、MongoDBやRedisなどのNoSQLまで、幅広くラインナップとしてコネクターを提供しています。

是非、様々なデータソースをPower Appsプラットフォームへ取り込み、アプリ作成に役立ててもらえればと思います!

CData Power BI Connectors

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。