CData Software Blog

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

ArcESB を使ってSFTP で受信したファイルをSalesforce に連携する:SFTP Server & Salesforce

f:id:irokawah:20220201174721p:plain

こんにちは。CData Software Japanの色川です。

SaaS とのデータ連携ではAPI が一般的ですが、他社とのデータ授受や自社システム間のインタフェースではCSV などファイルベースでのデータ連携も多いと思います。API での連携もファイルでの連携も、どちらもシンプルに実現できると嬉しいですよね。

この記事では、ArcESB のMFT(SFTP Server)を利用して、受信したファイルをSalesforce に連携する方法をご紹介します。

ArcESB とは?

ファイル転送(MFT)とSaaSデータ連携をノーコードで実現できるデータ連携ツールです。ファイル・データベース・SaaS API、オンプレミスやクラウドにある様々なデータをノーコードでつなぐ事ができます。

www.arcesb.com

この記事のシナリオ

この記事では「ArcESB のMFT 機能の内、SFTP Server を利用して、クライアントから受信したCSV ファイルのデータをSalesforce に連携する」シナリオを作成します。

必要なもの

ArcESB は30日間フル機能を利用できるトライアルライセンスが提供されています。ぜひお手元で試してみてください。

製品のインストール等はこちらの記事を参考にしてください。

www.cdatablog.jp

Salesforce の準備

今回Salesforce 側は、標準オブジェクトの取引先(Account)を利用します。

取引先(Account) f:id:irokawah:20220201174747p:plain

SFTP クライアントの準備

このシナリオでは、以下のようにシンプルなCSV ファイルを用意しました。

[account.csv]

"取引先名","都道府県","電話","種別","Webサイト"
"Burlington Textiles Corp of America","NC","(336) 222-7000","Customer - Direct","www.burlington.com"
"Edge Communications","TX","(512) 757-6000","Customer - Direct","http://edgecomm.com"
"Express Logistics and Transport","OR","(503) 421-7800","Customer - Channel","www.expressl&t.net"
"GenePoint","CA","(650) 999-9999","Customer - Channel","www.genepoint.com"
"Grand Hotels & Resorts Ltd","IL","(312) 596-1000","Customer - Direct","www.grandhotels.com"

ArcESB へSFTP で連携するクライアント = ファイルベースのデータをSalesforce と連携したいシステム、のイメージです。

このシナリオでは、SFTP クライアントにFileZilla を使いました。もし、ArcESB と異なるホストからSFTP クライアントで接続したい場合は、SFTP Server の構成で信頼済みIP アドレスにSFTP クライアントが稼働する環境のIP アドレスを設定してください。

ja.osdn.net

ArcESB の基本的な使い方

ArcESB の起動方法や基本的なフローの作り方についてはこちらをご覧ください。

www.arcesb.com

www.arcesb.com

ArcESB のFTP/SFTP Server についてはこちらのナレッジベースもぜひ参考にしてください。

www.arcesb.com

それでは実際にSFTP Server の準備と、連携フローを作成していきます。

ArcESB のSFTP Server を構成する

今回利用するSFTP Server をはじめ、インバウンドの接続をホストする機能は、ArcESB のプロファイル ページで構成します。

f:id:irokawah:20220201174833p:plain

この記事ではSFTP Server に必要不可欠な項目をシンプルに構成します。

f:id:irokawah:20220201174844p:plain

項目 内容
ポート SFTP 着信接続をリッスンするポート、この記事ではデフォルトの22 を使います
Server Certificate サーバ証明書、この記事ではArcESB に含まれる自己署名証明書ツールで用意しました
Certificate Password 指定したサーバ証明書のパスワード
ルートディレクト SFTP Server のルートになるディレクトリを指定します

f:id:irokawah:20220201174904p:plain

ArcESB のSFTP Server はファイル送受信以外に、ファイル名によるフィルタや、ログイン失敗時のロックアウト機構、IP アドレス制限など、豊富な機能を備えていますので、SFTP 接続が求められる多くのシーンで活用して頂けます。SFTP Server プロファイルについて詳しく知りたい方はこちらのヘルプも参考にしてください。

cdn.arcesb.com

自己署名証明書の作成

この記事ではサーバ証明書に、ArcESB に含まれる自己署名証明書ツールで用意した証明書を指定します。

Create Certificate から証明書の共通名や組織を指定して、証明書を作成 で作成することができます。

f:id:irokawah:20220201174926p:plain

SFTP で受信したファイルをSalesforce に連携する

こちらの連携フローは以下のような流れになっています。

  コネクタ 内容
1 SFTP Server SFTP Server でCSV ファイルを受信
2 CSV Map 1.で受信したCSV ファイルの情報を3.にマッピング
3 Salesforce Salesforce の取引先へUpsert

f:id:irokawah:20220201174945p:plain

SFTP Server コネクタの配置と構成

最初にフローの起点となるSFTP Server コネクタを配置し「SFTP で受信」します。MFT カテゴリから「SFTP Server コネクタ」を選択し、フローキャンバスへ配置します。

f:id:irokawah:20220201175012p:plain

SFTP 接続を許可するユーザーをと認証方法を指定します。認証はパスワード認証以外に、鍵認証、それらの組合せなど、選択することができます。この記事ではパスワード認証で指定します。

f:id:irokawah:20220201175025p:plain

Advancedタブで、送信・受信のフォルダパスを指定することができます。この記事では、 /SFTPServer/Receive が受信フォルダです(外部のクライアントから /SFTPServer/Receive に送信)。SFTP Server コネクタは受信したファイルを後続のフローに連携します。

f:id:irokawah:20220201175042p:plain

Salesforce コネクタの配置と構成

次にフローの終点となるSalesforce コネクタを配置し「Salesforce の取引先(Account)へのUpsert を設定」します。その他カテゴリから「Salesforce コネクタ」を選択し、フローキャンバスへ配置します。

f:id:irokawah:20220201175123p:plain

Connection でSalesforce の接続情報を作成します。ここで作成した接続情報は同じSalesforce 組織に接続するSalesforce コネクタで共有することができます。

f:id:irokawah:20220201175133p:plain

Action は「Upsert」。対象テーブルに「Account」を選択します。

f:id:irokawah:20220201175143p:plain

f:id:irokawah:20220201175151p:plain

CSV Map の配置と構成

このフローの最後に、SFTP Server で受信するCSV ファイルのレコードを、Salesforce コネクタにマッピングします。コアカテゴリから「CSV Map」コネクタを配置します。

f:id:irokawah:20220201175201p:plain

フローキャンバスの中で、FTP Server コネクタからCSV Map に。CSV Map からSalesforce コネクタへフローを繋ぎます。フローを接続したら、ワークスペースを保存してください。

f:id:irokawah:20220201175212p:plain

Salesforce コネクタ側のデータ構成(スキーマ)は既に設定していますので、フローの接続と保存によりCSV Map で認識できるようになっています。ソース側になるSFTP Server で受信するCSV ファイルのレイアウトには、ソースファイルからサンプルファイルをアップロードして指定します。

f:id:irokawah:20220201175233p:plain

それぞれの項目をマッピングします。

f:id:irokawah:20220201175248p:plain

これで「ArcESB のMFT(SFTP Server)を利用して、受信したファイルをSalesforce に連携する」フローができあがりました。

このシナリオではシンプルなマッピングのみでデータ項目の変換などは行いませんが、ArcESB でのデータマッピングや変換について興味のある方はこちらを併せてごらんください。

www.arcesb.com

連携フローの実行と確認

作成したフローを実行して確認してみましょう。

起点となるSFTP Server コネクタではクライアントからの着信をリッスンしていますので、SFTP クライアントで接続します。

f:id:irokawah:20220201175300p:plain

受信パスに指定した /SFTPServer/ReceiveCSV ファイルをアップロードします。

f:id:irokawah:20220201175400p:plain

SFTP Server コネクタでの受信をアウトプットタブで確認します。

f:id:irokawah:20220201175413p:plain

受信したCSV ファイルはフローの中を連携されていきますので、フローの終点となるSalesforce コネクタのインプットタブの結果を確認します。Upsert の成功が確認できます。

f:id:irokawah:20220201175426p:plain

Salesforce の取引先に連携されていることが確認できます。

f:id:irokawah:20220201175435p:plain

おわりに

この記事では、SFTP でのファイル連携から、Salesforce へのAPI 連携へとつなぐシンプルなシナリオをご紹介しました。

ArcESB はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで250を超えるアプリケーションへの連携を実現できます。必要な連携を低価格からはじめられる事も大きな特長です。

皆さんのつなぎたいシナリオでぜひ ArcESB を試してみてください。

www.arcesb.com

お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。

www.cdata.com


この記事では ArcESB™ 2021 - 21.0.8054 を利用しています。