CData Software Blog

クラウド連携のCData Software の技術ブログです。

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

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

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

powerapps.microsoft.com

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

AccessSharePointリストを元に、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

必要なもの

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