この記事ではローコードのデータ連携ソフトウェアであるCData Arcを利用し、Salesforceのデータを定期的にGoogle Sheetに連携する方法を紹介します。
CData Arc とは?
CData Arc はノーコードでETL/EAIなどのデータ連携やEDIなどの企業間での各種取引情報連携を実現できるWebアプリケーションです。
arc.cdata.com
今回はこのCData Arcと CData Salesforce・Google Sheet ADO.NET Providerを組み合わせて、Salesforce データを連携するための方法を解説します。
必要なもの
以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。
事前準備
まず使用する製品をそれぞれインストールします。以下のページから、CData Arcの本体を入手できます。必要に応じて、Windows、Java/Linux、Cloud Hostedのバージョンから選択してください。なお、本記事ではWindowsベースで進めます。
https://arc.cdata.com/download/
インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。
またCData Arcには スマレジ と kintone の接続用ライブラリが含まれていませんので、それらを個別で CData のサイトから入手し、インストールします。
それぞれ以下のURLから入手可能です。
https://www.cdata.com/jp/drivers/salesforce/ado/
https://www.cdata.com/jp/drivers/gsheets/ado/
連携先の Google Sheets
今回のシナリオでは、以下のようなGoogle SheetsにSalesforceのAccountデータを連携します。
なお、CData Arcでは自由に登録対象のシート・項目を決定できます。
CData Arc にログイン
それでは、実際にCData Arcを使って連携処理を開発していきます。
CData Arcが起動すると、以下のようにログイン画面が表示されるので、UserName:adminとインストール時に入力したパスワードを使って、ログインします。
ログイン後、「About」へ移動し、トライアルライセンスをアクティベーションします。以下はすでにアクティベーション済みの画面です。
CData Arcは「Flows」からデータ連携のデザイナー画面へ移動できます。
Salesforce Connector を構成
Flows デザイナー画面に移動したら、それぞれのデータ処理コネクターを配置していきます。
まずは、Salesforce の接続を構成しましょう。左側のConnection一覧から「Cloud Data(少し前のバージョンではCloud Dataという名前でした)」を選択し、キャンパスに配置します。
任意のConnector Id(ここでは Salesforce としました)を入力し「+Create Connector」をクリックします。
Connector作成後、設定画面が出てくるので、DataSourceの一覧から「CData Salesforce」を選択し、接続に必要な各種を入力し、Save Changesをクリックして保存します。
次に取得したいテーブルを選択するために、MappingsのOutputから「+」ボタンをクリックします。
使用できるテーブル一覧が出てくるので任意のテーブルを選択します。
次に取得したい項目と条件を選択します。ここで任意のフィルター条件を記載することで、最新のレコードだけ取得する等の設定が可能です。
設定後「Create」ボタンをクリックすれば、Salesforce Connectorの構成は完了です。
Google Sheets Connectorの構成
続いてSalesforceと同様に Google Sheets Connector も構成していきます。同じように「Cloud Data」を配置して構成します。Connector Id は GoogleSheetsとしました。
DataSourceは Google Sheets を選択し、「Connect to CData Google Sheets」をクリックします。クリックすると、Google アカウントのログインが求められるので、ログインを行い、CData Arcの接続許可を行えば、接続設定が完了します。
次に登録先となるSheetsを選択するために、Mappingsから「Input」を選択し「+」ボタンをクリックします。
対象のシート(テーブル)一覧がリストアップされるので、対象となるテーブルを選択します。
次の画面で登録する項目と処理方法(Upsertするかどうか)、Upsertする場合のKey項目を指定します。今回の記事ではInsertのみ設定しました。
以上で、Google Sheets のコネクター構成は完了です。
Mapping 作成
続いて、Salesforce と Google Sheets の項目を紐付けるための Mapping Connectorを配置します。
左の一覧から「XML Map」を選択し、キャンパスに配置します。
任意のConnector Idを入力し「+Create Connector」をクリックします。
Connector構成後、まずそれぞれのInputとOutputを紐付けます。以下のようにドラッグアンドドロップで、事前に作成した Salesforce / Google Sheets Connectorと紐付けて、画面右下にある保存ボタンをクリックすればそのままOKです。
次に、Mapの設定画面を開きます。接続が正常に構成されていれば、Source FileとDestination Fileが以下の様に入力されているはずです。
画面下で各項目のマッピングを行う領域が表示されているので、ここで項目をドラッグ・アンド・ドロップして、項目一覧を紐付けていきます。なお、Google Sheets の IDは自動採番される値のため、値を登録することはできません。
紐付け後、保存をすれば、設定完了です。
実行設定
最後にデータ連携の実行間隔を設定します。実行間隔の設定は、データ取得元である Salesforce Connector の詳細画面から「Automation」タブで設定します。
Receiveのチェックボックスにチェックを入れて、IntervalとTimeを指定しましょう。以下の画面では、毎日に12時に起動する設定にしています。
実行方法
それでは構成したフローを実行してみます。
タイマー起動ではない、手動での実行は一番最初のフローの「Output」タブにある「Receive」ボタンをクリックすることで可能です。
「Receive」ボタンをクリックすると、Salesforce から Account が取得され、以下のようにCData Arcにロードされたことがわかります。
最終的な処理結果は Google Sheets Connector のInputタブから確認できます。ここで処理結果がSentになっていれば、Google Sheets 側に正常に処理が行われたことになります。
実際に Google Sheets の画面を見てみると、以下のようにAccountデータが登録されていることが確認できます。
おわりに
このように、CData ArcとADO.NET Providerを活用することで、会員データの連携処理を簡単に構築することができました。
CDataでは Salesforce・Google sheets 以外にも、kintone や Dynamics 365といった様々な ADO.NET Providerを提供しています。是非任意のツール・サービスに接続するために試してもらえればと思います。
https://www.cdata.com/jp/ado/
関連コンテンツ