SSブログ

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

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。