この記事ではローコードのデータ連携ソフトウェアであるArcESBを利用し、特定のフォルダに配置されたCSVデータをSalesforceへ自動的に登録する方法を紹介します。
- ArcESB とは?
- この記事で実現するシナリオ
- 必要なもの
- 対象のCSVデータ
- 事前準備
- ArcESB にログイン
- Salesforce Connector を構成
- CSV MAP Connector を構成
- 実行方法
- おわりに
ArcESB とは?
ArcESB はノーコードでETL/EAIなどのデータ連携やEDIなどの企業間での各種取引情報連携を実現できるWebアプリケーションです。
この記事で実現するシナリオ
この記事ではCSVフォルダを吸い上げて、自動的にSalesforceへ接続するための手順を解説します。
ArcESBはCSV MAPコネクターを利用することで、特定のフォルダのCSVをリアルタイムにチェックし、取得する機能を持っています。
この機能を使って、フォルダに配置されたCSVを検知し、Salesforce用のデータにマッピング、登録を行うという流れです。
必要なもの
以下の製品のインストールが必要になります。すべて30日間のトライアルが提供されていますので、是非試してみてください。
対象のCSVデータ
対象のCSVデータは以下のような「CompanyNumber」と「CompanyName」の項目を持つシンプルなCSVデータです。
これをSalesforceのAccountに登録します。
事前準備
まず使用する製品をそれぞれインストールします。以下のページから、ArcESBの本体を入手できます。必要に応じて、Windows、Java/Linux、Cloud Hostedのバージョンから選択してください。なお、本記事ではWindowsベースで進めます。
https://www.arcesb.com/download/
インストールはそのままダイアログに従って進めれば大丈夫です。難しいところは特にありませんが、ログインする際のパスワード入力を求められる場所がありますので、忘れてしまわないように注意しましょう。
またArcESBには Salesforce の接続用ライブラリが含まれていませんので、それらを個別で CData のサイトから入手し、インストールします。
それぞれ以下のURLから入手可能です。
https://www.cdata.com/jp/drivers/salesforce/ado/
ArcESB にログイン
それでは、実際にArcESBを使って連携処理を開発していきます。
ArcESBが起動すると、以下のようにログイン画面が表示されるので、UserName:adminとインストール時に入力したパスワードを使って、ログインします。
ログイン後、「About」へ移動し、トライアルライセンスをアクティベーションします。以下はすでにアクティベーション済みの画面です。
ArcESBは「Flows」からデータ連携のデザイナー画面へ移動できます。
Salesforce Connector を構成
Flows デザイナー画面に移動したら、それぞれのデータ処理コネクターを配置していきます。
まずは、Salesforce の接続を構成しましょう。左側のConnection一覧から「CData(少し前のバージョンではCloud Dataという名前でした)」を選択し、キャンパスに配置します。
任意のConnector Id(ここでは Salesforce としました)を入力し「+Create Connector」をクリックします。
Connector作成後、設定画面が出てくるので、DataSourceの一覧から「CData Salesforce」を選択し、「UserId」「Password」「SecurityToken」を入力、Save Changesをクリックして保存します。
次に取得したいテーブルを選択するために、MappingsのInputから「+」ボタンをクリックします。
使用できるテーブル一覧が出てくるので任意のテーブルを選択します。
次に登録したい必要項目を選択します。できるだけ必要な項目に絞ると、後々のメンテナンスがしやすいのでオススメです。
また、Upsertを行う場合はKeyを選択し、Upsertの条件対象となるフィールドを選択します。この条件を設定することで、ArcESBは事前にその項目に該当するデータをチェックし、存在すれば更新、存在しなければ新規登録といった処理を行います。
今回は登録のみの処理を行うので、上記は設定していません。
CSV MAP Connector を構成
次にCSV MAP Connectorを設定します。CSV MAP ConnectorではCSVデータをArcESB内部のデータにマッピングする機能を持っています。
先程と同様に任意のConnectorIdを入力して、Connectorを作成します。
Connectorを配置後、一度設定画面を閉じて、先程配置したSalesforce Connectorと紐付けを行い、保存します。
紐付けを行っていると、以下のようにDestination Fileが登録されているので、マッピングが行いやすくなります。それに続いて、対象のCSVファイルをSource Fileに紐付けて、マッピングデータとして扱えるようにします。
すると、以下のようにマッピングのUIが表示されるので、それぞれの項目を紐付けます。
これで保存すれば、設定は完了です。
なお、取り込み対象となるCSVファルはAdvancedのInputFolderのパスに配置します。もし任意のフォルダにしたい場合は、そのままパスを変更すればOKです。
実行方法
先程のフォルダにCSVファイルを配置します。
数秒立つと、以下のようにCSVファイルがArcESBに取り込まれます。
取り込まれた状況は各Connectorの「Input」「Output」から確認できます。
すべてのプロセスが完了していれば、Salesforceにデータが登録されます。
おわりに
このように、ArcESBとSalesforce ADO.NET Providerを活用することで、CSVデータ連携を簡単に構築することができました。
CDataでは Salesforce 以外にも、kintone や Dynamics 365といった様々な ADO.NET Providerを提供しています。是非任意のツール・サービスに接続するために試してもらえればと思います。