Contents
設定の流れ
- 事前準備
- データローダのインストール
- JREのインストール
- 環境変数の設定
- バッチファイル設定用のディレクトリの作成
- 暗号化用の鍵ファイルの作成
- 暗号化パスワードの作成
- Mappingファイルの作成
- 設定ファイルの更新
- batファイルの直接実行(※テスト用)
- batファイルのタスクスケジューラによる実行
事前準備
◾️データローダとJREのインストール
こちらのドキュメントの案内に従い、それぞれインストール
◾️環境変数の設定
DataLoaderをバッチモードで動作させる場合、JAVA_HOMEシステム環境変数としてZulu OpenJDKのインストールディレクトリを指定する必要がある。
指定に際しては、パスに空白が含まれることによるbatファイル実行エラーを避けるため、「Programi Files」のディレクトリ指定をショートファイルネームによって行うことが望ましい。
Program Files → PROGRA~1
Program Files (x86) → PROGRA~2
◾️参考エラー
Files\Zulu\zulu-11 was unexpected at this time
バッチファイル設定用のディレクトリの作成
dataloaderのインストールディレクトリからsamplesフォルダをコピーし、それをベースにバッチファイル設定用のディレクトリを作成する。
dataloader_batch(※会社名の英数字を設定するとよい)
└conf:マッピングファイル・設定ファイル
└data:CSVファイル
└key:暗号化用の鍵ファイル
└log:実行ログ
└result:データローダの実行結果
暗号化用の鍵ファイルの作成
データローダのbinディレクトリに移動し、以下を実行
cd C:\Users\regardie\dataloader\v55.0.1\bin
enctypt.bat -k C:\Users\regardie\dataloader_batch/key/dataLoader.key
//encrypt.bat -k [生成する鍵ファイルのパス]
暗号化パスワードの作成
データローダのbinディレクトリで引き続き、以下を実行
encrypt.bat -e testpassword "C:\Users\regardie\dataloader_batch/key/dataLoader.key"
//encrypt.bat -e [パスワードorセキュリティトークン] "[暗号化に利用する鍵ファイルのパス]"
Mappingファイルの作成
samples/confに格納されている各sdlファイルを参考に、Mappingファイルを仕上げる。
設定ファイルの更新
process-conf.xmlを適切な内容に変更する
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="opportunityUpsertProcess"
class="com.salesforce.dataloader.process.ProcessRunner"
scope="prototype">
<description>Opportunity Upsert job gets the Customer record updates from a CSV file and uploads them to salesforce using 'upsert'.</description>
<property name="name" value="opportunityUpsertProcess"/>
<property name="configOverrideMap">
<map>
<entry key="sfdc.endpoint" value="https://login.salesforce.com"/>
<entry key="sfdc.username" value="user@mycompany.com"/>
<!-- password below has been encrypted using key file, therefore it will not work without the key setting: process.encryptionKeyFile
the password is not a valid encrypted value, please generate the real value using encrypt.bat utility -->
<entry key="sfdc.password" value="暗号化パスワード"/>
<entry key="process.encryptionKeyFile" value="暗号化用の鍵ファイルのパス"/>
<entry key="sfdc.timeoutSecs" value="600"/>
<entry key="sfdc.loadBatchSize" value="200"/>
<entry key="sfdc.externalIdField" value="外部キー項目のAPI参照名"/>
<entry key="sfdc.entity" value="Opportunity"/>
<entry key="process.operation" value="upsert"/>
<entry key="process.mappingFile" value="Mappingファイルのパス"/>
<entry key="dataAccess.name" value="CSVファイルのパス"/>
<entry key="dataAccess.type" value="csvRead"/>
<entry key="sfdc.debugMessages" value="true"/>
<entry key="sfdc.debugMessagesFile" value="実行ログ"/>
<entry key="process.outputSuccess" value="成功ログ"/>
<entry key="process.outputError" value="失敗ログ"/>
</map>
</property>
</bean>
</beans>
batファイルの直接実行(※テスト用)
cd C:\Users\regardie\dataloader\v55.0.1\bin
process.bat "C:\Users\regardie\dataloader_batch/conf" opportunityUpsertProcess
//process.bat "[process-conf.xmlのパス]" [process-conf.xmlで定義した実行プロセスの名前]
batファイルのタスクスケジューラによる実行
①タスクスケジューラの起動
②画面右側のCreate Basic Taskをクリックし、タスク名(任意)を記入
③実行の頻度・タイミングを設定
④実行内容の種別を決定(※デフォルトのStart a programを指定する)
⑤実行するスクリプトとしてprocess.batファイル、引数として[マッピングファイル・設定ファイルを格納したディレクトリのパス] [process-conf.xmlで定義した実行プロセスの名前]を指定(※要するに直接実行と同じ設定をすればよい)
⑥確認画面で問題がないか確認し、「Finish」をクリック
⑦スケジュールが登録されているかどうか、Task Scheduler Libraryから確認する