Salesforce Dataloader の Command line 処理の概要
CLIq を使用する場合については、後記、まずは手動で bat を作成す方法を記す
手順は概ね以下となる
1. Dataloaderのインストール
2. パスワードの暗号化
3. process-conf.xmlの作成
4. sdlファイル(mapping)の作成
5. MyProcess.batの作成
1. Dataloaderをインストールすると、概ね以下のようにフォルダに展開される
--------
C:\Program Files (x86)\
salesforce.com\
Data Loader\
bin\
encrypt.bat *
process.bat *
Java\
Licenses\
samples\
process-conf.xml *
dataloader_uninstall.exe
dataloader-32.0.0-uber.jar
--------
Export時は、* のファイルを使用、Import時は、加えて .sdlファイルも使用
2. パスワードの暗号化
encrypt.bat に -e オプション指定で、password を渡すと、暗号化された文字列を返す
次項の process-conf.xml の中で指定する
--------
C:\Program Files (x86)\salesforce.com\Data Loader\bin>encrypt -e SfdcLoginPassword#12345678
2014-12-24 14:24:14,186 INFO [main] security.EncryptionUtil main (EncryptionUti
l.java:365) - 24bd821d828c642e6bd326ad6307c5f2bc84c7a60b21a1f593d685482e
--------
3. process-conf.xmlの作成
sampleフォルダ配下のものを参考にして、手動でファイルを作成する。 以下は Export の例
--------
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="GetJpUsers" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false">
<description>csvUserExtract job gets user info from salesforce and saves info into a CSV file."</description>
<property name="name" value="GetJpUsers"/>
<property name="configOverrideMap">
<map>
<entry key="dataAccess.name" value="C:\DLfolder\SfJpUsers.csv"/>
<entry key="dataAccess.readUTF8" value="true"/>
<entry key="dataAccess.type" value="csvWrite"/>
<entry key="dataAccess.writeUTF8" value="true"/>
<entry key="process.enableExtractSuccessOutput" value="true"/>
<entry key="process.enableLastRunOutput" value="true"/>
<entry key="process.lastRunOutputDirectory" value="C:\DLfolder\log"/>
<entry key="process.operation" value="extract"/>
<entry key="process.statusOutputDirectory" value="C:\DLfolder\log"/>
<entry key="sfdc.bulkApiCheckStatusInterval" value="5000"/>
<entry key="sfdc.bulkApiSerialMode" value="5000"/>
<entry key="sfdc.debugMessages" value="false"/>
<entry key="sfdc.enableRetries" value="true"/>
<entry key="sfdc.endpoint" value="https://login.salesforce.com"/>
<entry key="sfdc.entity" value="User"/>
<entry key="sfdc.extractionRequestSize" value="500"/>
<entry key="sfdc.extractionSOQL" value="Select Id, Username, Name FROM User WHERE Username like '%.jp%'"/>
<entry key="sfdc.insertNulls" value="false"/>
<entry key="sfdc.loadBatchSize" value="200"/>
<entry key="sfdc.maxRetries" value="3"/>
<entry key="sfdc.minRetrySleepSecs" value="2"/>
<entry key="sfdc.noCompression" value="false"/>
<entry key="sfdc.password" value="4dc6d86a5832053848c9f6184e67400c73bcbc3d653bb9415b9c6085d9c09cb0"/>
<entry key="sfdc.proxyHost" value="Proxy.MyCompany.co.jp"/>
<entry key="sfdc.proxyPort" value="8080"/>
<entry key="sfdc.proxyUsername" value=""/>
<entry key="sfdc.timeoutSecs" value="60"/>
<entry key="sfdc.useBulkApi" value="false"/>
<entry key="sfdc.username" value="bachuser@MyCompany.co.jp"/>
</map>
</property>
</bean>
</beans>
--------
4. sdlファイル(mapping)の作成
DataloaderのGUIを使って、マッピングファイル(.sdlファイル)を作成しておく
Importのときに必要となる。前項の process-conf.xml の中で指定する
--------
#Mapping values
#Fri Jun 24 22:57:54 JST 2011
Username=Username
UserRoleId=UserRoleId
LastName=LastName
FirstName=FirstName
Division=Division
ProfileId=ProfileId
Id=Id
Email=Email
--------
5. MyProcess.batの作成
この batファイル 自体は、どこのフォルダにあってもよいが、
上記ファイルは、Dataloaderと同じ C:\ のフォルダに配置する。また、パス名は、短縮名で指定する
この batファイルをタスクスケジューラで定時実行させるようにする
--------
C:
cd C:\PROGRA~2\SALESF~1.COM\DATALO~1\bin\
process.bat C:\ATSUPP~1 GetJpUsers > C:\ATSUPP~1\LOG\executing.log
--------
以下には、CLIq を使用した場合について記述する
Dataloader CLIq (Dataloader Command Line Interface)
= DataloaderをCommandlineから実行するためのファイル一式を自動生成するアプリ
ダウンロードしたファイルをDataloaderのホームディレクトリで解凍する。
cliq.batを実行するとファイル作成のためのダイアログが開き、
案内に従って処理の内容を記述していくと、Data Loader CLIq フォルダの配下に、
指定したプロセス名のフォルダができあがる。このフォルダは以下を保持している。
configフォルダ = Dataloader実行に必要な設定ファイル一式
readフォルダ = SalesforceにImportする連携元のCSVファイル
writeフォルダ = SalesforceからExportした出力先のCSVファイル
MyProcess.bat の実行により、Dataloaderによる処理が実行される
MyProcess.sh は、mac や unix 環境用のもの(最新Dataloaderではサポート対象外?)
C:\Program Files (x86)\
salesforce.com\
Data Loader\
cliq\
cliq_process\
process1\
config\
read\
write\
MyProcess.bat
MyProcess.sh
process2\
(Salesforce, Dataloader, CLIq)
タグ:sfdc