LoginSignup
6
3

More than 3 years have passed since last update.

Dataloader47.0バッチの作成手順について

Last updated at Posted at 2019-11-09

はじめに

日々、Salesforceを開発または運用する中で、環境の情報を不定期に複数の環境で複数のオブジェクト対して、同じ問い合わせを実行したい場合があると思います。
そういった場合、ETLツールなどのツールが利用できない場合、候補に上がるのが公式に提供される無料ツール、DataLoaderバッチです。
ただし、利用するには暗号化やプロセス定義などCLIで実行しなければいけない手順があり、時々実行するには少々敷居が高いです。私も何回か作っていますが、バージョンによってオプションが違うので苦手意識がありました。
備忘録として、手順を説明したいと考えています。

事前準備

環境変数JAVA_HOMEの設定

Dataloaderは去年ごろか、OpenSDKの利用が必須になりました。
また、暗号化バッチ(encrypt.bat)は、内部で、JAVA_HOMEで参照しているので環境変数の設定が必要です。
設定は、[スタート] > [コントロールパネル] > [環境変数]ボタンを押下して設定してください。

JAVA_HOME = C:¥zule(※後ほど正確な格納さきを記載します。)

Dataloaserのバージョン

バージョン毎に暗号化バッチ(encrypt.bat)のオプションが違うので記載します。
作業を割り振る場合や自分でやる場合にもオプション部分が一番苦労します。
DataLoaderバージョン:47.0

作成手順

実行までの作業手順を記載します。

暗号化鍵の生成

パスワード暗号化する際に利用する暗号化鍵を生成します。
パスワードを複合化する際にも利用するので、binフォルダにまずは作成します。

公式ドキュメント:コマンドラインからの暗号化

encrypt -k dataloader.key #(鍵ファイル)

パスワードの暗号化

Salesforceにログインするパスワードを、生成した暗号化鍵で暗号化します。
実行すると暗号化された結果が画面に表示されますのでメモ帳などで書き留めます。
後ほど、プロセス設定ファイル(process-config.xml)に各プロセス毎に設定します。

encrypt.bat -e {sf.password} dataloader.key

プロセス定義

dataloaderのホームディレクトリには、バッチ用のサンプルプログラム(samlple)が格納されています。
定義(conf)のプロセス定義ファイル(process-config.xml)に登録、更新、削除、照会のプロセスが記述されていますので、ログインエンドポイント、sf.userIdとsf.passwordを変更することで動作を確認することができます。
公式ドキュメント:設定パラメータ

プロセス実行

デフォルトは、”../conf”に設定されています。dataフォルダで実行する場合は、confの設定を省略することも可能です。

公式ドキュメント:バッチモードでの実行:Salesforce開発者ドキュメント

process ../conf accountMasterProcess

注意事項

多くの場合、実際に運用するのは多くのエンドユーザです。
初期段階からパスワード変更や、バージョン管理、端末の格納先を設計する必要があります。
配布してから、場当たり的に設計するのはやめましょう!

最後に

いかがだったでしょうか、Dataloderバッチは身近になったでしょうか?
日々の作業では、他の作業もあることから情報を取得する作業はあまり時間をかけられません。
しっかりとデータ見せ方を考えるために、データ取得にはあまり時間をかけたくないものですね。
自分の負荷を下げるためにはいろいろ工夫していきましょう。では!!

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3