データローダをバッチモードで使用する際の設定手順
Windowsのコマンドプロンプトから暗号化キーを生成 (データローダ バージョン 45 以降の場合)
1. データローダインストール
2. データローダのパスワードを暗号化
2-1. データローダのインストール場所へ移行
cd C:\Users\<Windows ユーザ名>\dataloader\<データローダバージョン>\bin
2-2. 暗号化キーファイルを生成
encrypt.bat -k <path to key file>
※コマンド中の path to key file は任意のディレクトリ、およびファイル名(拡張子は.keyとします)に置き換えます。path to key file の指定がない場合、 "C:\Users<Windowsユーザ名>.dataloader\dataLoader.key" として暗号化キーファイルが生成されます。
2-3. 暗号化キーファイルが生成されたことを確認
Keyfile "C:\Users\<Windowsユーザ名>\.dataloader\dataLoader.key" was created!
※このファイルは次のステップでパスワードを暗号化する際に使用します。
2-4.暗号化パスワードを作成
encrypt.bat -e password "C:\Users\<Windowsユーザ名>\.dataloader\dataLoader.key"
※暗号化キーファイルを用いて、データローダのパスワードを暗号化パスワードに変換します。
- password はデータローダが Salesforce にログインするために使用するパスワード+セキュリティトークン
- filepath は ".key"を保存したディレクトリに置き換え、コマンドプロンプト上で実行します。
暗号化パスワード=[Salesforce のログインパスワード]+[セキュリティトークン]
※「セキュリティトークンのリセット」
(https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm&type=5)
3. SDLファイルの作成
入力ファイルと Salesforce のオブジェクトとの項目の対応付けファイルを作成
3-1. 対応付けファイルを新規作成して、拡張子に .sdl を指定します。
3-2. 次の構文に従って対応づけファイルを作成します。
データ挿入の列の対応付けの例
#Thu May 26 16:19:33 GMT 2011
Name=Name
NumberOfEmployees=NumberOfEmployees
Industry=Industry
4. データローダの設定ファイルの作成
データローダがデータを処理するための設定ファイルを作成
4-1. データローダのインストールディレクトリから [\samples\conf] ディレクトリから [process-conf.xml] ファイルをコピーします。
4-2. お客様のログイン情報、設定ファイル、処理に必要な各ファイルの情報を [process-conf.xml] に上書きします。
<設定例>
<entry key="sfdc.endpoint" value="https://login.salesforce.com"/>
<entry key="sfdc.username" value="hogehoge@test"/>
<entry key="sfdc.password" value="******暗号化パスワード*****"/>
<entry key="process.encryptionKeyFile" value="C:\Users\<Windowsユーザ名>\.dataloader\dataLoader.key"/> //(データローダ バージョン 43 の場合)
<entry key="process.mappingFile" value="test.sdl"/>
<entry key="dataAccess.name" value="test_data.csv"/>
<entry key="sfdc.debugMessages" value="true"/>
<entry key="sfdc.debugMessagesFile" value="testMap.sdl"/>
<entry key="process.outputSuccess" value="C:\test\success.csv"/>
<entry key="process.outputError" value="C:\test\error.csv"/>
<entry key="dataAccess.type" value="databaseWrite"/>
- sfdc.endpoint : 組織の Salesforce の URL (https://login.salesforce.com など)
Salesforce 組織の URL 内[私のドメイン] を使用する
- sfdc.username : データローダがログインに使用するユーザ名
- sfdc.password : 暗号化パスワードの値
- process.encryptionKeyFile : 暗号化パスワードを作成する際に使用した暗号化キー、もしくは暗号化キーファイル
- process.mappingFile : 対応付けファイルのパスとファイル名
- dataAccess.Name : インポートする取引先を含むデータファイルのパスとファイル名
- sfdc.debugMessages : トラブルシューティングの項。必要に応じて [true/false] を記載
- sfdc.debugMessagesFile : SOAP メッセージを保存するファイルのパスとファイル名
- process.outputSuccess : 成功ログファイルのパスとファイル名
- process.outputError : エラーログファイルのパスとファイル名
- dataAccess.type : ファイル種別と入出力タイプを入力 [例:csvRead、databaseWrite] コマンドラインのログファイル
5. データをインポート
コマンドプロンプトウィンドウで、次のコマンドを入力します。
process.bat "[file path to process-conf.xml]" process name
[file path to process-conf.xml]にprocess-conf.xmlを含まない、配置先のパスのみ
file path to process-conf.xml を process-conf.xml を含むディレクトリのパスに置き換えます。
process name を process-conf.xml に指定されたプロセスに置き換えます。
コマンドは、次のようになります。
<実施コマンド例>
process.bat "C:\DLTest\Command Line\Config" accountInsert
プロセスが実行されると、コマンドプロンプトウィンドウに成功とエラーのメッセージが表示されます。また、ログファイル (insertAccounts_success.csv と insertAccounts_error.csv) を確認できます。プロセスが正常に実行されると、insertAccounts_success.csv ファイルには、インポートしたレコードと各レコードの ID と状況が含まれます。状況ファイルについての詳細は、「データローダの出力ファイルの確認」を参照してください。
参考文献
https://help.salesforce.com/s/articleView?id=000386154&type=1
https://help.salesforce.com/s/articleView?id=sf.command_line_create_config_file.htm&type=5
https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm&type=5
https://help.salesforce.com/s/articleView?id=sf.command_line_create_mapping_file.htm&type=5
https://help.salesforce.com/s/articleView?id=sf.importing.htm&type=5