CData Software Blog

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

特定のフォルダに配置されたCSVデータをSalesforceへ自動的に登録する:ArcESB

この記事ではローコードのデータ連携ソフトウェアであるArcESBを利用し、特定のフォルダに配置されたCSVデータをSalesforceへ自動的に登録する方法を紹介します。

ArcESB とは?

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

f:id:sugimomoto:20200124105130p:plain

この記事で実現するシナリオ

この記事ではCSVフォルダを吸い上げて、自動的にSalesforceへ接続するための手順を解説します。

ArcESBはCSV MAPコネクターを利用することで、特定のフォルダのCSVをリアルタイムにチェックし、取得する機能を持っています。

f:id:sugimomoto:20200124105156p:plain

この機能を使って、フォルダに配置されたCSVを検知し、Salesforce用のデータにマッピング、登録を行うという流れです。

必要なもの

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

対象のCSVデータ

対象のCSVデータは以下のような「CompanyNumber」と「CompanyName」の項目を持つシンプルなCSVデータです。

f:id:sugimomoto:20200124105213p:plain

これをSalesforceのAccountに登録します。

事前準備

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

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

f:id:sugimomoto:20200124105218p:plain

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

f:id:sugimomoto:20200124105225p:plain

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

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

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

f:id:sugimomoto:20200124105232p:plain

ArcESB にログイン

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

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

f:id:sugimomoto:20200124105243p:plain

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

f:id:sugimomoto:20200124105250p:plain

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

f:id:sugimomoto:20200124105256p:plain

Salesforce Connector を構成

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

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

f:id:sugimomoto:20200124105304p:plain

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

f:id:sugimomoto:20200124105314p:plain

Connector作成後、設定画面が出てくるので、DataSourceの一覧から「CData Salesforce」を選択し、「UserId」「Password」「SecurityToken」を入力、Save Changesをクリックして保存します。

f:id:sugimomoto:20200124105321p:plain

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

f:id:sugimomoto:20200124105402p:plain

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

f:id:sugimomoto:20200124105412p:plain

次に登録したい必要項目を選択します。できるだけ必要な項目に絞ると、後々のメンテナンスがしやすいのでオススメです。

また、Upsertを行う場合はKeyを選択し、Upsertの条件対象となるフィールドを選択します。この条件を設定することで、ArcESBは事前にその項目に該当するデータをチェックし、存在すれば更新、存在しなければ新規登録といった処理を行います。

f:id:sugimomoto:20200124105421p:plain

今回は登録のみの処理を行うので、上記は設定していません。

CSV MAP Connector を構成

次にCSV MAP Connectorを設定します。CSV MAP ConnectorではCSVデータをArcESB内部のデータにマッピングする機能を持っています。

f:id:sugimomoto:20200124105427p:plain

先程と同様に任意のConnectorIdを入力して、Connectorを作成します。

f:id:sugimomoto:20200124105439p:plain

Connectorを配置後、一度設定画面を閉じて、先程配置したSalesforce Connectorと紐付けを行い、保存します。

f:id:sugimomoto:20200124105445p:plain

紐付けを行っていると、以下のようにDestination Fileが登録されているので、マッピングが行いやすくなります。それに続いて、対象のCSVファイルをSource Fileに紐付けて、マッピングデータとして扱えるようにします。

f:id:sugimomoto:20200124105451p:plain

すると、以下のようにマッピングのUIが表示されるので、それぞれの項目を紐付けます。

f:id:sugimomoto:20200124105456p:plain

これで保存すれば、設定は完了です。

なお、取り込み対象となるCSVファルはAdvancedのInputFolderのパスに配置します。もし任意のフォルダにしたい場合は、そのままパスを変更すればOKです。

f:id:sugimomoto:20200124105501p:plain

実行方法

先程のフォルダにCSVファイルを配置します。

f:id:sugimomoto:20200124105507p:plain

数秒立つと、以下のようにCSVファイルがArcESBに取り込まれます。

f:id:sugimomoto:20200124105513p:plain

取り込まれた状況は各Connectorの「Input」「Output」から確認できます。

f:id:sugimomoto:20200124105520p:plain

すべてのプロセスが完了していれば、Salesforceにデータが登録されます。

おわりに

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

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

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

f:id:sugimomoto:20200124105526p:plain