[Salesforce] データローダのご紹介

はじめに

ここ数か月、案件でSalesforceを扱っている岡田です。
データローダを使う機会が多いので、データローダについてご紹介します。

データローダとは

データローダは、データを一括でインポートまたはエクスポートするためのクライアントアプリケーションです。Salesforce レコードの挿入、更新、削除、またはエクスポートに使用できます。
データのインポート時には、カンマ区切り値 (CSV) ファイルまたはデータベース接続からデータローダの参照、抽出、および読み込みを実行できます。データのエクスポート時には、CSV ファイルが出力されます。
引用:Salesforce公式サイト

データローダを使用することで、あらかじめ用意したCSVファイルを使って、大量レコードの一括挿入や一括更新をすることができます。

セットアップ

以下Salesforceの公式サイトに丁寧なセットアップ手順が載っているので、そちらをご参照ください。Javaのインストールをする必要があります。

データローダのインストール手順

起動してみる

起動すると以下ウィンドウが表示されます。

以下6つのことができます。

  • Insert(新規作成)
  • Update(更新)
  • Upsert(新規作成&更新)
  • Delete(削除)
  • Export(出力)
  • Export All(ゴミ箱のデータも含めて出力)

使用例

Insertを例に、使用する流れをご紹介します。

Settingsを確認する

まず、Settingsをクリックして確認します。

よく変更するのが赤枠で囲っている項目になります。

Batch size

バッチサイズを決めます。
バッチサイズを大きくするほどデータアップロードにかかる時間は減りますが、ガバナ制限等でエラーになる可能性が増えます。

Insert null values

オンにすると、レコード更新時にnull値で項目が更新されます。オフの場合、null値の項目は更新されません。

Read all CSVs with UTF-8 encoding

CSVの文字コードがUTF-8であればオンにする必要があります。

Use Bulk API

オンにすると、バッチサイズを10000まで上げることができ、データアップロードにかかる時間が短縮できます。
データアップロードの際、「Unable to Lock ...」というBulkAPI特有のエラーが出ることがあります。そのときは慌てず、エラーレコードを再アップロードすればば問題ありません。
また、Insert null values はオフになります。

ログインする

Insertをクリックするとログイン画面にいくので、ProductionかSandboxを環境に応じて選択してログインします。

オブジェクトを選択する

新規作成するオブジェクトを選択し、アップロードするCSVを選択します。

「Show All Salesforce objects」にチェックを入れると、「権限セットの割り当て」などのマニアック?なオブジェクトも選択可能になります。

Nextをクリックすると、追加されるレコード数が表示されます。

項目の対応付けをする

CSVのカラム名とオブジェクトの項目名の対応付けを行います。

手動でも対応付けできますし、CSVのカラム名とオブジェクトのカラム名が一致している場合は、自動で対応付けすることもできます。

SDLというファイル形式で対応付けを保存して、次回以降も同様に対応付けを行うことができます。

アップロードする

ログファイルの保存先を決め、「Finish」をクリックして、CSVをアップロードします。

アップロード終了後、指定した保存先にSuccessとErrorのログファイルが生成されているので確認します。Errorログには1レコードずつ、エラー内容が記載されています。

さいごに

以上、簡単ですが、データローダのご紹介をしてみました。
Exportワンクリックでデータのバックアップをとれたり、upsertで外部キーをもとに新規&更新できたりするので、データローダは便利です。

今後もSalesforceの内容を積極的に発信していこうと思います。

ありがとうございました。