[salesforce]Data Loader Command Line Interface
データローダの周辺ツールの1つである、Data Loader Command Line Interfaceのご紹介。
データローダ概要
データローダはSalesforceのレコードを出し入れできる非常に便利で強力なツールです。他システムとデータ連係を行う時や、開発中にデータの一括投入やエクスポートを行う時や、Salesforceの新規導入時に既存システムからのデータ移行をする時などに重宝します。
データローダは基本的にはGUIで操作するJAVAで書かれたWindowsアプリです。
Data Loader Video
これをコマンドラインから実行したいケースがよくあります。Windowsのタスクスケジューラからスケジュール実行したい場合などがまさにそうです。そんな時のために、データローダはコマンドライン実行が可能な仕組みを用意してくれています。具体的には、いくつかの設定ファイルとバッチファイルを用意して適切な記述をしておけば、そのバッチファイル経由でデータローダを実行することが可能になります。
ただし、この設定ファイルの記述やバッチファイルの作成は手作業で行う必要があるため、マニュアルを読みながら一行一行書くのは非常に手間で、失敗する可能性も高いです。そんな時のために、データローダをコマンドラインから実行するファイル一式を自動生成してくれるアプリが、Data Loader Command Line Interfaceです。
Data Loader Command Line Interfaceについて
インストール方法はオフィシャルに書いていますが、ダウンロードしたファイルをデータローダのホームディレクトリで解凍するだけ。あとは同梱されているcliq.batというファイルを実行するとバッチファイルが実行された後にこんな画面が開きます。
ここから画面の案内に従って、自分の作成したいデータローダ処理の内容を記述していくと完了。そうするとData Loader Command Line Interfaceのフォルダ内に、自分で設定したプロセス名のフォルダができています。
testtestというプロセス名を設定した例
configというフォルダには、データローダを実行する際に必要な設定ファイル一式が自動生成されています。readというフォルダには、ローカル→Salesforceのデータ連係をする際の連携元のCSVファイルなどを格納します。writeというフォルダには、Salesforceからエクスポート処理を行った際の出力結果CSVファイルが格納されます。
testtest.batというファイルを実行すると実際のデータローダ処理が実行されます。このバッチファイルをタスクスケジューラや他のバッチファイルなどのコマンドラインインターフェイスから実行することになります。testtest.shというファイルも生成されていて、これはMACやUNIX環境用のものになります。ただ、最新のデータローダは公式にはMACやUNIXサポートしているとは書いていないので、この利用は自己責任になります、たぶん。