tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:データローダバッチ開発の流れ

データローダですが、コマンドラインからバッチモードで実行できます。(基本的にWindowsでのみサポートされています。)

Salesforce Help - バッチモード

フォルダ構成

ディレクトリの場所は任意ですが今回は『c:¥sfdc¥sample_batch』で進めます。
f:id:tyoshikawa1106:20151108205922p:plain

  • bin -- batファイルなど
  • conf -- 設定ファイルなど
  • data -- CSVファイルなど
  • log -- ログファイルの保管
  • sdl -- マッピングファイル

confフォルダの準備

まずは設定ファイルを用意します。
f:id:tyoshikawa1106:20151108211047p:plain

config.properties

ログイン情報などの設定情報を記載。このファイルに記載すると全体に反映されます。
f:id:tyoshikawa1106:20151108211320p:plain

key.txt

パスワードの暗号化で使用するキー情報を記載します。キー情報は次の手順で生成します。

  1. コマンドプロンプトを起動
  2. データローダのbinフォルダに移動
    • cd C:\Program Files\salesforce.com\Data Loader\bin
  3. 次のコマンドを実行 (mykeyの部分は任意の文字列)
    • encrypt -g mykey

f:id:tyoshikawa1106:20151108212347p:plain


これで生成された文字列をkey.txtにセットします。
f:id:tyoshikawa1106:20151108212434p:plain

process-conf.xml

process-conf.xmlにはINSERTなどの処理情報を記載します。
f:id:tyoshikawa1106:20151108213126p:plain

パスワードの生成

パスワードはkey.txtのキー情報を使用して暗号化します。暗号化は次のコマンドで行います。

encrypt -e <sfdc password> C:\sfdc\dev_batch\conf\key.txt

f:id:tyoshikawa1106:20151108214618p:plain


これで生成されたパスワードを『sfdc.password』に指定します。(ユーザ名の方は暗号化不要です。)
f:id:tyoshikawa1106:20151108215007p:plain

sdlフォルダの準備

sdlフォルダには項目のマッピング情報を入力します。
f:id:tyoshikawa1106:20151108215737p:plain

f:id:tyoshikawa1106:20151108215748p:plain

dataフォルダの準備

dataフォルダにはINSERT処理などで利用するCSVファイルを用意します。
f:id:tyoshikawa1106:20151108215952p:plain

binフォルダの準備

binフォルダにはbatchファイルを格納します。ここから『config.properties』ファイルの処理を実行します。
f:id:tyoshikawa1106:20151108220313p:plain

バッチ処理の実行

これで処理実行の準備ができました。batファイルのあるディレクトリに移動してバッチを実行します。
f:id:tyoshikawa1106:20151108220808p:plain


正常に実行されると処理件数が表示されます。
f:id:tyoshikawa1106:20151108220844p:plain


処理実行後、logフォルダにcsvファイルが生成されます。エラー情報などはここで確認できます。
f:id:tyoshikawa1106:20151108220925p:plain


Salesforceの方でデータが登録されていることを確認できます。
f:id:tyoshikawa1106:20151108221344p:plain

サンプル