こんにちは。CData Software Japan リードエンジニアの杉本です。
今月、ローコードのアプリ開発ツールで有名なPower Appsで個人的待望の機能アップデートがありました!
powerapps.microsoft.com
Power Appsでは、Power Apps上で使えるデータベースライクなCDSというサービスがあるのですが、このサービスに連携するためのデータフローというデータインテグレーション機能が存在します。
AccessやSharePointリストを元に、CDSのエンティティ(テーブルのようなもの)を自動生成し、定期的にデータを同期させてくれるというスグレモノです!
デフォルトでも30種類くらいのサービスに接続できるようになっているのですが、それを今回のリリースではCData的待望のODBCに接続できるようになりました!
これにより、CDataで提供している 170種類を超えるデータソースもPower Apps/CDSにデータフロー経由で連携できます!
今回はこのCData Drivers ラインナップの中から、最近リリースされました「Sansan」コネクターを使って、Sansanに登録された名刺データをCDSに連携する方法を紹介したいと思います!
実現イメージ
Power AppsデータフローはMicrosoftのクラウドベースのサービスなので、CData Driverと連携するために、オンプレミスゲートウェイと連携させる必要があります。
といっても、設定はクライアントマシンに各種製品をインストールして、認証情報を入力するのみで、特に難しいところはありません。
必要なもの
Power Apps/CDSの環境について
Power Appsの環境では、モデル駆動アプリで利用できるCDSにデータを連携するので、CDSの環境を予め構成しておいてください。
エンティティを特別定義しておく必要はありません。データフロー実行時に自動的に生成されます。
※なお、今回オンプレミスデータゲートウェイを使用しますが、2019/11/13現在、PowerAppsのデフォルト環境と同じリージョンにCDSを構成しないと、オンプレミスデータゲートウェイが使えないようです。ご注意ください。
CData Sansan Power BI Connectorのインストールとセットアップ
以下のリンクから、評価版をダウンロードし、インストールを実施します。
CData Sansan Power BI Connector
インストールそのまま、次へと進めていくだけでOKです。
インストールが完了すると、以下のように接続設定画面が表示されるので、こちらの記事を元にSansan のAPI Keyを取得して、入力します。
※Power Appsデータフローとの接続でビューの状態だとよく読み込まれない時があるようなので、Tablesのところに今回読み込み対象となるビューの「BizCards」を入力しておくと良いです。(今後解消されるかもしれません)
なお、Sansan Connectorはデフォルトでは組織全体の名刺データを取得します。もし個人の名刺だけに絞りたい場合は、「Range」のパラメータを「me」に変更してください。
接続テストをクリックして、成功すれば設定完了です。
オンプレミスデータゲートウェイで Sansan コネクターを認識させる
次にオンプレミスデータゲートウェイに対して、インストールしたSansanコネクターを認識させます。
オンプレミスデータゲートウェイを立ち上げて「コネクタ」のタブに移動しフォルダパスから「C:\Program Files\CData\CData Power BI Connector for Sansan」を選択します。
適用後、以下のようにカスタムデータコネクタが識別されれば、設定完了です。
データフローの接続を構成する
それでは Power Appsの画面に移動して、データフローを作成してみましょう。
以下のようにPower Appsの画面から「データフロー」を選択し、「データフローを作成する」をクリックします。
任意の名称を入力し、「作成」をクリック
データソース一覧の中から「ODBC」を選択します。
接続設定画面では、先程設定した接続情報を使うので接続文字列のところに「DSN=接続名称(今回の場合はDSN=CData Power BI Sansan)」を入力します。
オンプレミスデータゲートウェイからは、接続先のゲートウェイが表示されるので、それを選択
認証の種類は、現在のPower Apps データフローの仕様上、ODBC接続では必須みたいなので、Basicを選択し、適当な文字列を入力しておきます。(この文字列は使われないので、特に気にしなくて大丈夫です。)
次の画面に進むと、対象のテーブル・もしくはビュー選択画面に移動します。以下のようにBizCardsテーブルを選択すると、プレビューが表示され、正常にコネクターとゲートウェイ経由でSansanの名刺データが参照できていることがおわかりいただけると思います。
このBizCardsテーブルを選択して、次へ進みます。
クエリの編集画面では、特にカラムの変換など必要ない場合は、変更する必要はありません。そのまま次へ進んでも大丈夫です。
そして、重要なエンティティマップです。ここで、CDSにエンティティを構成するための各種設定を実施します。今回は新しくエンティティを構成してしまうので、「新しいエンティティを読み込む」にチェックを入れます。
デフォルトでは、対象フィールドのタイプが複数行テキストになってしまうので、これらを「テキスト」のタイプに変更し、最後にプライマリフィールドをBizcardIdへ設定すればOKです。
また、もしデータの差分をCDS側に残しておきたい場合は、「クエリ出力に存在しない行を削除します」のチェックを外しておきましょう。
デフォルトでは、取得したデータに一致するレコードがCDSに無い場合、そのデータは削除されてしまいます。今回は名刺データのため、原則削除が発生しなものと思いますが、例えばスナップショット的に残しておきたい、といったチェックを入れておくと良いです。
最後にデータの更新方法を選択します。せっかくなので、自動的に更新にしてみましょう。以下のように1時間ごとに更新というように設定しておけば、1時間毎に随時登録された名刺データが吸い上げられ、最新の名刺データがCDS上に登録されていきます。
設定後、「作成」をクリックすると、エンティティの作成と初期のデータ同期が開始されます。
読み込みが開始されました。
最終的に以下のように「完了済み」になればOKです。
それでは実際に作成されたエンティティを見てみましょう!
データタブの「エンティティ」を選択すると、自動的に生成された「BizCards」エンティティが一覧に含まれていることがわかるかと思います。
BizCardsエンティティを選択すると、フィールドも正常に全項目作成されていました。なかなかこの項目定義は面倒なので、こういった形でデータフローが自動的に作成してくれると、大変楽でありがたいですね。
データも見てみましょう。以下は少しビューをいじっていますが、正常に名刺データが連携されたことが確認できます。
おわりに
このような形で、通常であれば、APIをゴリゴリといじってデータ連携処理を構築しなければいけないところを、Power AppsのローコーディングプラットフォームとCData Connectorの組み合わせだけで、手軽にデータ連携を行うことができます。
今回はSansanの名刺データを連携しましたが、CDataではSansan以外にもSAPやNetsuiteといったERP、MongoDBやRedisなどのNoSQLまで、幅広くラインナップとしてコネクターを提供しています。
是非、様々なデータソースをPower Appsプラットフォームへ取り込み、アプリ作成に役立ててもらえればと思います!
CData Power BI Connectors
関連コンテンツ