こんにちは。CData Software Japanの色川です。
SaaS とのデータ連携ではAPI が一般的ですが、他社とのデータ授受や自社システム間のインタフェースではCSV などファイルベースでのデータ連携も多いと思います。API での連携もファイルでの連携も、どちらもシンプルに実現できると嬉しいですよね。
この記事では、ArcESB のMFT(SFTP Server)を利用して、受信したファイルをSalesforce に連携する方法をご紹介します。
- ArcESB とは?
- この記事のシナリオ
- 必要なもの
- ArcESB のSFTP Server を構成する
- SFTP で受信したファイルをSalesforce に連携する
- 連携フローの実行と確認
- おわりに
ArcESB とは?
ファイル転送(MFT)とSaaSデータ連携をノーコードで実現できるデータ連携ツールです。ファイル・データベース・SaaS API、オンプレミスやクラウドにある様々なデータをノーコードでつなぐ事ができます。
この記事のシナリオ
この記事では「ArcESB のMFT 機能の内、SFTP Server を利用して、クライアントから受信したCSV ファイルのデータをSalesforce に連携する」シナリオを作成します。
必要なもの
ArcESB は30日間フル機能を利用できるトライアルライセンスが提供されています。ぜひお手元で試してみてください。
製品のインストール等はこちらの記事を参考にしてください。
Salesforce の準備
今回Salesforce 側は、標準オブジェクトの取引先(Account)を利用します。
取引先(Account)
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 アドレスを設定してください。
ArcESB の基本的な使い方
ArcESB の起動方法や基本的なフローの作り方についてはこちらをご覧ください。
ArcESB のFTP/SFTP Server についてはこちらのナレッジベースもぜひ参考にしてください。
それでは実際にSFTP Server の準備と、連携フローを作成していきます。
ArcESB のSFTP Server を構成する
今回利用するSFTP Server をはじめ、インバウンドの接続をホストする機能は、ArcESB のプロファイル
ページで構成します。
この記事ではSFTP Server に必要不可欠な項目をシンプルに構成します。
項目 | 内容 |
---|---|
ポート | SFTP 着信接続をリッスンするポート、この記事ではデフォルトの22 を使います |
Server Certificate | サーバ証明書、この記事ではArcESB に含まれる自己署名証明書ツールで用意しました |
Certificate Password | 指定したサーバ証明書のパスワード |
ルートディレクトリ | SFTP Server のルートになるディレクトリを指定します |
ArcESB のSFTP Server はファイル送受信以外に、ファイル名によるフィルタや、ログイン失敗時のロックアウト機構、IP アドレス制限など、豊富な機能を備えていますので、SFTP 接続が求められる多くのシーンで活用して頂けます。SFTP Server プロファイルについて詳しく知りたい方はこちらのヘルプも参考にしてください。
自己署名証明書の作成
この記事ではサーバ証明書に、ArcESB に含まれる自己署名証明書ツールで用意した証明書を指定します。
Create Certificate
から証明書の共通名や組織を指定して、証明書を作成
で作成することができます。
SFTP で受信したファイルをSalesforce に連携する
こちらの連携フローは以下のような流れになっています。
コネクタ | 内容 | |
---|---|---|
1 | SFTP Server | SFTP Server でCSV ファイルを受信 |
2 | CSV Map | 1.で受信したCSV ファイルの情報を3.にマッピング |
3 | Salesforce | Salesforce の取引先へUpsert |
SFTP Server コネクタの配置と構成
最初にフローの起点となるSFTP Server コネクタを配置し「SFTP で受信」します。MFT カテゴリから「SFTP Server コネクタ」を選択し、フローキャンバスへ配置します。
SFTP 接続を許可するユーザーをと認証方法を指定します。認証はパスワード認証以外に、鍵認証、それらの組合せなど、選択することができます。この記事ではパスワード認証で指定します。
Advanced
タブで、送信・受信のフォルダパスを指定することができます。この記事では、 /SFTPServer/Receive
が受信フォルダです(外部のクライアントから /SFTPServer/Receive
に送信)。SFTP Server コネクタは受信したファイルを後続のフローに連携します。
Salesforce コネクタの配置と構成
次にフローの終点となるSalesforce コネクタを配置し「Salesforce の取引先(Account)へのUpsert を設定」します。その他カテゴリから「Salesforce コネクタ」を選択し、フローキャンバスへ配置します。
Connection でSalesforce の接続情報を作成します。ここで作成した接続情報は同じSalesforce 組織に接続するSalesforce コネクタで共有することができます。
Action は「Upsert」。対象テーブルに「Account」を選択します。
CSV Map の配置と構成
このフローの最後に、SFTP Server で受信するCSV ファイルのレコードを、Salesforce コネクタにマッピングします。コアカテゴリから「CSV Map」コネクタを配置します。
フローキャンバスの中で、FTP Server コネクタからCSV Map に。CSV Map からSalesforce コネクタへフローを繋ぎます。フローを接続したら、ワークスペースを保存してください。
Salesforce コネクタ側のデータ構成(スキーマ)は既に設定していますので、フローの接続と保存によりCSV Map で認識できるようになっています。ソース側になるSFTP Server で受信するCSV ファイルのレイアウトには、ソースファイル
からサンプルファイルをアップロード
して指定します。
それぞれの項目をマッピングします。
これで「ArcESB のMFT(SFTP Server)を利用して、受信したファイルをSalesforce に連携する」フローができあがりました。
このシナリオではシンプルなマッピングのみでデータ項目の変換などは行いませんが、ArcESB でのデータマッピングや変換について興味のある方はこちらを併せてごらんください。
連携フローの実行と確認
作成したフローを実行して確認してみましょう。
起点となるSFTP Server コネクタではクライアントからの着信をリッスンしていますので、SFTP クライアントで接続します。
受信パスに指定した /SFTPServer/Receive
へCSV ファイルをアップロードします。
SFTP Server コネクタでの受信をアウトプット
タブで確認します。
受信したCSV ファイルはフローの中を連携されていきますので、フローの終点となるSalesforce コネクタのインプットタブの結果を確認します。Upsert の成功が確認できます。
Salesforce の取引先に連携されていることが確認できます。
おわりに
この記事では、SFTP でのファイル連携から、Salesforce へのAPI 連携へとつなぐシンプルなシナリオをご紹介しました。
ArcESB はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで250を超えるアプリケーションへの連携を実現できます。必要な連携を低価格からはじめられる事も大きな特長です。
皆さんのつなぎたいシナリオでぜひ ArcESB を試してみてください。
お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。
この記事では ArcESB™ 2021 - 21.0.8054
を利用しています。