こんにちは。CData Software Japanリードエンジニアの杉本です。
今回はMicrosoftのRPAサービス「Power Automate Desktop」と「CData ODBC Driver」を組み合わせて様々なクラウドサービス・アプリケーションに接続する方法を紹介したいと思います。
Power Automate Desktop とは?
Power Automate Desktop は MicrosoftのiPaaSであるPower Automate に去年新しく加わった、RPAサービスです。
https://flow.microsoft.com/ja-jp/robotic-process-automation/
以下のようなデスクトップアプリを利用して、RPAのフローを作成し、業務プロセスの改善・自動化を実現できるようになっています。
docs.microsoft.com
RPAとしての基本的な機能の他に、様々なアプリケーションやローカルファイル・サービス等に接続することが可能なアクションが一つの特徴となっています。
その中に、データベースにODBC経由で接続できるアクションが含まれており、CData ODBC Driverと組み合わせることで、CDataが対応している様々なデータソース と接続できるようになります。
docs.microsoft.com
今回の記事ではこのデータベース接続アクションとCData ODBC Driver を使って、Power Automate Desktop から 国産クラウドサービス「kintone」に接続する方法を紹介します。
シナリオ
今回は前述の通り、シンプルな連携方法として、国産クラウドサービスの kintone から CData ODBC Driver経由でアプリのデータを取得し、ローカルのCSVファイルを生成するシナリオで解説します。
最終的に作成するフローは以下のようなイメージとなります。
Power Automate はRPAなので、kintone の UI上からデータを取得して処理するといったことも考えられますが、その場合ページ遷移や項目名の変更、UIのビュー調整・認証方法などを考慮しなくてはいけません。
しかしながら、CData ODBC Driverを利用することで上記API固有のハンドリングを委任し、Power Automate Desktopからシームレスに呼び出すことができるようになります。
また、今回のシナリオではkintoneを例に紹介していますが、CData で提供するSalesforceやMarketo・Amazon MarketplaceなどのODBC Driverも同様に接続が可能です。
www.cdata.com
Power Automate Desktopのはじめ方、トライアル方法については以下の記事が参考になると思います。
qiita.com
手順
CData kintone ODBC Driverのインストール・セットアップ
まず、CData kintone ODBC Driverを対象のマシンにインストール・セットアップします。
CData kintone ODBC Driver は以下のURLから30日間のトライアル版が入手できます。
https://www.cdata.com/jp/drivers/kintone/odbc/
インストーラーを立ち上げると、以下のような画面になるので、ダイアログに従ってセットアップを完了してください。
セットアップ完了後、接続設定画面が立ち上がります。下記の項目にkintoneへの接続情報を設定します。
「接続のテスト」ボタンをクリックします。下記のようなダイアログが表示されれば成功です。「接続ウィザード」の「OK」ボタンをクリックして保存します。
Power Automate Deskotopで新しいフローを作成
続いて、Power Automate Desktopでフローを作成していきます。
Power Automate Desktopを立ち上げて、「新しいフロー」をクリックし
任意のフロー名を入力して、新規のフローを作成します。
以下の画面でフローを構成していきます。
SQL 接続の設定
Power Automate Dektop から、CData ODBC Driver経由でkintoneに接続する場合、前述の通りデータベース接続のアクションを利用します。
データベース接続は「SQL接続を開く」→「SQL ステートメントの実行」→「SQL接続を閉じる」の順で処理を実施します。
そのため、最初に「SQL接続を開く」を配置して、ODBCへの接続設定を行います。
設定画面では以下のように事前に構成したkintoneのDSNを指定する接続文字列を入力します。
「DSN=CData Kintone Source;」
SQL ステートメントの実行
続いてデータを取得するクエリを実行するために「SQL ステートメントの実行」を配置します。
CData ODBC Driver では SQL文で kintoneのアプリデータを取得することができるようになっています。
今回はkintoneで予め提供されているサンプルアプリ「営業支援パック」の「顧客管理」データを取得するように指定しました。
「SELECT * FROM [顧客管理(営業支援パック)]」
なお、接続可能なアプリ名はODBC DSNの「テーブル」タブから参照することができます。ここでアプリ名をコピー・アンド・ペーストすると良いでしょう。
CSVファイルの生成
次にCSVファイルの生成アクションを設定します。アクションから「CSVファイルに書き込みます」を配置し
取得したアプリのデータが格納されている「%QueryResult%」を書き込む変数に指定します。
あとは、生成先のファイルパスを指定すればOKです。
もし列名を含めたい場合は「Advanced」にある「列名を含めます」にチェックを入れましょう。
SQL接続を閉じる
最後に、接続したODBC 接続をクローズします。
「SQL接続を閉じる」をフローに配置し
対象のコネクションを指定して保存すればOKです。
テスト実行
これで以下のようなフローが構成されればOKです。
画面左上の「実行」ボタンをクリックすることで、動作を確認することができます。
正常に実行が完了すると、以下のようなCSVファイルが生成されます。
アプリの日本語カラム名なども問題なく取得できていますね。
Tips
QueryResultの結果を細かく取得したい場合は、以下のようにアクセスすることが可能です。
「%QueryResult[{レコード番号}][{カラム番号またはカラム名}]%」
例えば、3レコード目の「顧客名」の値を取得したい場合は
「%QueryResult[2]['顧客名']%」で取得することが可能です。
おわりに
今回はPower Automate DesktopとCData Driverの連携方法を紹介しましたが、PowerPlatform全体で見ると、他にもCData Driverが連携できるポイントがあります。
ユースケースに合わせて、色々な連携を試してみてください。
https://www.cdata.com/jp/blog/2019-11-19-111420
https://www.cdata.com/jp/blog/2019-02-14-112834
www.cdatablog.jp
関連コンテンツ