CData Software Blog

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

Salesforceのデータを定期的にGoogle Spreadsheetに連携する:ArcESB & CData ADO.NET

この記事ではローコードのデータ連携ソフトウェアであるArcESBを利用し、Salesforceのデータを定期的にGoogle Sheetに連携する方法を紹介します。

ArcESB とは?

ArcESB はノーコードでETL/EAIなどのデータ連携やEDIなどの企業間での各種取引情報連携を実現できるWebアプリケーションです。

www.arcesb.com

f:id:sugimomoto:20191111155027p:plain

今回はこのArcESBと CData SalesforceGoogle Sheet ADO.NET Providerを組み合わせて、Salesforce データを連携するための方法を解説します。

f:id:sugimomoto:20200127170432p:plain

必要なもの

以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。

事前準備

まず使用する製品をそれぞれインストールします。以下のページから、ArcESBの本体を入手できます。必要に応じて、WindowsJava/Linux、Cloud Hostedのバージョンから選択してください。なお、本記事ではWindowsベースで進めます。

https://www.arcesb.com/download/

f:id:sugimomoto:20200127165940p:plain

インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。

f:id:sugimomoto:20200127165947p:plain

またArcESBには スマレジ と kintone の接続用ライブラリが含まれていませんので、それらを個別で CData のサイトから入手し、インストールします。

それぞれ以下のURLから入手可能です。

https://www.cdata.com/jp/drivers/salesforce/ado/

f:id:sugimomoto:20200127165953p:plain

https://www.cdata.com/jp/drivers/gsheets/ado/

f:id:sugimomoto:20200127170003p:plain

連携先の Google Sheets

今回のシナリオでは、以下のようなGoogle SheetsにSalesforceのAccountデータを連携します。

f:id:sugimomoto:20200127170011p:plain

なお、ArcESBでは自由に登録対象のシート・項目を決定できます。

ArcESB にログイン

それでは、実際にArcESBを使って連携処理を開発していきます。

ArcESBが起動すると、以下のようにログイン画面が表示されるので、UserName:adminとインストール時に入力したパスワードを使って、ログインします。

f:id:sugimomoto:20200127170018p:plain

ログイン後、「About」へ移動し、トライアルライセンスをアクティベーションします。以下はすでにアクティベーション済みの画面です。

f:id:sugimomoto:20200127170026p:plain

ArcESBは「Flows」からデータ連携のデザイナー画面へ移動できます。

f:id:sugimomoto:20200127170035p:plain

Salesforce Connector を構成

Flows デザイナー画面に移動したら、それぞれのデータ処理コネクターを配置していきます。

まずは、Salesforce の接続を構成しましょう。左側のConnection一覧から「Cloud Data(少し前のバージョンではCloud Dataという名前でした)」を選択し、キャンパスに配置します。

f:id:sugimomoto:20200127170042p:plain

任意のConnector Id(ここでは Salesforce としました)を入力し「+Create Connector」をクリックします。

f:id:sugimomoto:20200127170047p:plain

Connector作成後、設定画面が出てくるので、DataSourceの一覧から「CData Salesforce」を選択し、接続に必要な各種を入力し、Save Changesをクリックして保存します。

f:id:sugimomoto:20200127170053p:plain

次に取得したいテーブルを選択するために、MappingsのOutputから「+」ボタンをクリックします。

f:id:sugimomoto:20200127170109p:plain

使用できるテーブル一覧が出てくるので任意のテーブルを選択します。

f:id:sugimomoto:20200127170117p:plain

次に取得したい項目と条件を選択します。ここで任意のフィルター条件を記載することで、最新のレコードだけ取得する等の設定が可能です。

f:id:sugimomoto:20200127170122p:plain

設定後「Create」ボタンをクリックすれば、Salesforce Connectorの構成は完了です。

Google Sheets Connectorの構成

続いてSalesforceと同様に Google Sheets Connector も構成していきます。同じように「Cloud Data」を配置して構成します。Connector Id は GoogleSheetsとしました。

f:id:sugimomoto:20200127170128p:plain

DataSourceは Google Sheets を選択し、「Connect to CData Google Sheets」をクリックします。クリックすると、Google アカウントのログインが求められるので、ログインを行い、ArcESBの接続許可を行えば、接続設定が完了します。

f:id:sugimomoto:20200127170135p:plain

次に登録先となるSheetsを選択するために、Mappingsから「Input」を選択し「+」ボタンをクリックします。

f:id:sugimomoto:20200127170147p:plain

対象のシート(テーブル)一覧がリストアップされるので、対象となるテーブルを選択します。

f:id:sugimomoto:20200127170152p:plain

次の画面で登録する項目と処理方法(Upsertするかどうか)、Upsertする場合のKey項目を指定します。今回の記事ではInsertのみ設定しました。

f:id:sugimomoto:20200127170158p:plain

以上で、Google Sheets のコネクター構成は完了です。

Mapping 作成

続いて、SalesforceGoogle Sheets の項目を紐付けるための Mapping Connectorを配置します。

左の一覧から「XML Map」を選択し、キャンパスに配置します。

f:id:sugimomoto:20200127170206p:plain

任意のConnector Idを入力し「+Create Connector」をクリックします。

f:id:sugimomoto:20200127170213p:plain

Connector構成後、まずそれぞれのInputとOutputを紐付けます。以下のようにドラッグアンドドロップで、事前に作成した Salesforce / Google Sheets Connectorと紐付けて、画面右下にある保存ボタンをクリックすればそのままOKです。

f:id:sugimomoto:20200127170220p:plain

次に、Mapの設定画面を開きます。接続が正常に構成されていれば、Source FileとDestination Fileが以下の様に入力されているはずです。

f:id:sugimomoto:20200127170225p:plain

画面下で各項目のマッピングを行う領域が表示されているので、ここで項目をドラッグ・アンド・ドロップして、項目一覧を紐付けていきます。なお、Google Sheets の IDは自動採番される値のため、値を登録することはできません。

f:id:sugimomoto:20200127170230p:plain

紐付け後、保存をすれば、設定完了です。

実行設定

最後にデータ連携の実行間隔を設定します。実行間隔の設定は、データ取得元である Salesforce Connector の詳細画面から「Automation」タブで設定します。

Receiveのチェックボックスにチェックを入れて、IntervalとTimeを指定しましょう。以下の画面では、毎日に12時に起動する設定にしています。

f:id:sugimomoto:20200127170237p:plain

実行方法

それでは構成したフローを実行してみます。

タイマー起動ではない、手動での実行は一番最初のフローの「Output」タブにある「Receive」ボタンをクリックすることで可能です。

f:id:sugimomoto:20200127170243p:plain

「Receive」ボタンをクリックすると、Salesforce から Account が取得され、以下のようにArcESBにロードされたことがわかります。

f:id:sugimomoto:20200127170249p:plain

最終的な処理結果は Google Sheets Connector のInputタブから確認できます。ここで処理結果がSentになっていれば、Google Sheets 側に正常に処理が行われたことになります。

f:id:sugimomoto:20200127170255p:plain

実際に Google Sheets の画面を見てみると、以下のようにAccountデータが登録されていることが確認できます。

f:id:sugimomoto:20200127170301p:plain

おわりに

このように、ArcESBとADO.NET Providerを活用することで、会員データの連携処理を簡単に構築することができました。

CDataでは SalesforceGoogle sheets 以外にも、kintone や Dynamics 365といった様々な ADO.NET Providerを提供しています。是非任意のツール・サービスに接続するために試してもらえればと思います。

https://www.cdata.com/jp/ado/

f:id:sugimomoto:20200127170308p:plain