Salesforce上のデータをDataloaderを使ってバッチで出力します。
青森も段々と春らしくなってきました。
会社の窓から見える桜も咲き始めております。
今回は完全に技術系のメモ的ブログです。
弊社では様々なクラウドツールを活用しています。
用途に応じて切り分けていますが、AシステムとBシステムとのデータを合体させた結果を
見たい!分析したい!という要望の声が上がります。
システムツールの選定基準に、「データを外部に出力可能である。」もポイントにおいていますので、
自動、手動いずれかの方式でデータを抜き取り可能ではあります。
とはいえ手動で抜き取りするは毎回手間ですし、自動で抜き取りしてもらえるのであれば
抜き取りさせたいものです。
各メーカーさんのサポートページを確認すると色々とやり方が記載されていますが、
Salesforceさんの「Dataloader」を利用して「バッチ」で「csv」出力するについては
中々見つけづらい。分かりづらい(?)感じでしたので、今回はこちらの方法を共有させていただきます。
Salesforceを社内でご担当されている方で、同じケースに悩まれている方がいらっしゃる方の
手助けになれれば、とても嬉しいです。
さて、Salesforceさんのヘルプページには「Dataloader」の使い方についても
ちゃんと記載があります。
https://help.salesforce.com/articleView?id=000331524&type=1&mode=1
Salesforce上にデータをインポートするのであれば、
こちらのヘルプページの手順がそのまま使えます。
しかし、エクスポートする場合は途中から手順が変わります。
手順が変わるのは「次に入力ファイルと出力ファイルのマッピング用の対応付けファイルを作成します。」以降になります。
では実際にどのように変えて使うのかというと
1. 出力ファイルのマッピング用の対応付けファイルを作成します。
ヘルプページではインポート用の対応付けファイルを作成していますが、
エクスポート用の対応付けファイルを作成します。
ポイントは1つだけ、左にSalesforceの項目名、右に出力ファイルの列名として設定します。
<データ出力の列の対応付け例>
—–
Salesforceの項目名=出力ファイルの列名
Id=Id
HogeHoge__c=HogeHoge
Rank__c=Rank
—–
2. データローダの設定ファイルを作成します。
process-conf.xmlファイルをコピーして設定を自分の環境に合わせて上書きするまでは
同じです。
エクスポートする場合は、インポートとは異なり下記のKey設定が必要となります。
私はココがわかりづらくて時間が取られました。
設定パラメーターヘルプページ
https://help.salesforce.com/articleView?id=sf.loader_params.htm&type=5
ファイル出力するときは下記を追加します。
<entry key="sfdc.entity" value="出力対象のSalesforceオブジェクト名(Leadとか)"/>
<entry key="sfdc.extractionRequestSize" value="500"/>
→1度のエクスポート、クエリ操作でSalesforceから返されるレコード
(詳しくはヘルプページをご参照ください)
<entry key="sfdc.extractionSOQL" value="抽出用SOQL文"/>
→データエクスポート用のSOQLクエリ分
例)SELECT Id, HogeHoge__c, Rank__c FROM Lead
ここで指定した項目は、1で指定したマッピング用対応付けファイルに記載されている必要があります。
<entry key="process.operation" value="extract"/>
: 出力なので「extract」を指定
<entry key="process.mappingFile" value="1で作成したファイルを指定"/>
<entry key="dataAccess.type" value="csvWrite"/>
<entry key="dataAccess.name" value="csvファイル出力先を指定"/>
※Salesforceは頻繁にアップデートされていますので、
お試し前には必ず最新情報の確認をお願いします。
上記2点を参考にしていただければ、後はヘルプページの手順でバッチファイルからデータ出力可能となります。
ちなみに、上手くいかない方はSalesforceさんのサポートに問い合わせ頂ければ優しく教えていただけると思います。
お試しくださいませ。
八戸東和薬品では「社内のデータ活用や営業支援」、「営業カイゼン」のお手伝いもさせて頂いております。
これらの事で困っている、変えたい、話だけでも聞いて欲しいなどございましたら
お気軽にお問い合わせいただけたらと思います。
お読みいただきありがとうございました!