2021/05/14

SalesforceのDataloader(データローダ)とそれを自動化するバッチ処理

 
  

Salesforceにデータを流し込みたい!そんな時はどうするか?

Salesforceのデータは、必ずしも手で打ち込まなければならないわけではありません。データの塊があればそれを読み込ませることができます。 そのためのツールが2種類用意されています。手軽にできるものとしては「データインポートウィザード」であり、少しハードルがありますが使いこなせればほとんどのことができてしまう「Dataloader(データローダ)」があります。 まずはこの2つのツールについて解説します。

データインポートウィザードを利用する

データインポートウィザードはSalesforceのシステム管理者であればどなたでもお使いいただけるものです。 設定画面からクイック検索で「インポート」と入れていただき、 データを簡単な3ステップでインポート データインポートウィザードを起動して、データをインポートします。 というメッセージにある「ウィザードを起動する」ボタンから開始ができます。 標準オブジェクトについては「取引先と取引先責任者」「リード」「ソリューション」「キャンペーンメンバー」のインポートが可能、カスタムオブジェクトはすべてインポートが可能です。 ※注意:料金3,000円のライセンスでは対応していないオブジェクトがあります レコードの処理方法としては「新規レコードを追加」「既存のレコードを更新」「新規レコードを追加および既存のレコードを更新」という方法が選べます。 あとはデータを読み込ませ、対応付けを編集してインポートを行うだけです。

Dataloader(データローダ)を利用する

Dataloader(データローダ)は専用のアプリをインストールする必要があります。 Windows用とMac用のアプリがありますが、このアプリとともにJDKのインストールも必要です。 Dataloader(データローダ)はGUIのモードとコマンドライン(いわゆるDOS画面)で動くモードがあり、通常の手作業での操作の場合はGUIのモードで操作をします。 起動をするとGUIのモードで小さなウィンドウが立ち上がり、メニューとして「Insert」「Update」「Upsert」「Delete」「Hard Delete」「Export」「Export All」といったメニューが出て来ます。 メニューが英語なので、このツール自体は日本語化されていません。

Dataloader(データローダ)の使い方

Dataloader(データローダ)の最初の画面からボタンをクリックするとログインを求められます。 ログイン方法にはOAuthとPassword Authenticationがあります。 Password Authenticationの方が簡単にログインできそうに見えますが、実はOAuthでLog inのボタンを押した方が簡単に組織と連携できてログインができます。 Production(本番環境)とSandboxを選ぶことが可能です。 ログイン時(連携確認時)に「Dataloader Partner」にアクセスを許可するかどうか聞かれますので、こちらは許可としてください。 ログインができたら Next> で画面に進むことができます。 ここからは処理によってオブジェクトと入出力のファイルを選択して、マッピングなどを行っての処理が可能です。

Dataloader(データローダ)とはそもそもどういうもの?

ここまではDataloader(データローダ)の使い方をお伝えしてきましたが、一旦基本的なところに戻り、Dataloader(データローダ)でできることを書きます。 多くの機能はデータインポートウィザードではできないことばかりです。

Salesforceデータのエクスポートができる

SalesforceデータのエクスポートができるのがDataloader(データローダ)の特徴です。 厳密に言えばSalesforceのレポート機能を使えばエクスポート自体は可能です。 しかし、いわゆる生データの形でデータを出力する、すべての項目を出力するみたいなところになるとDataloader(データローダ)の方が機能としては上となります。 レポートの場合は「レポートを作る」という作業をしなくてはなりませんが、Dataloader(データローダ)では基本的にはそのままデータを出力することができるので、その意味でシンプルにデータをエクスポートできます。

Salesforceデータのインポートもできる

Dataloader(データローダ)ではデータのインポートの方が機能として使われることが多いです。 データインポートウィザードと同じく「Insert(新規データ作成)」「Update(更新)」「Upsert(更新と新規データ作成)」ができるだけでなく、「Delete(削除)」ができる点でDataloader(データローダ)の方が機能が上ということになります。 また、データインポートウィザードで対応していない標準オブジェクトの商談や契約にも対応しています。 一方で、取引先と取引先責任者を同時にインポートしたり、個人取引先にインポートするのはデータインポートウィザードの方が楽にインポートできます。 もちろんDataloader(データローダ)でも可能ですが、外部IDを使ったリレーションを使う必要があるので少し手間がかかります。

自動起動や外部プログラムから呼び出すことができる

Dataloader(データローダ)にはGUIのモードとコマンドラインのモードがあるとお話ししましたが、外部プログラムから呼び出す場合は、コマンドラインのモードを使います。 この場合、バッチすなわち自動起動させたいという場合は、何らかの自動起動ツール(Windowsであればタスクスケジューラー、Macであればcron)を使ってDataloader(データローダ)を直接起動しても構いませんし、開発したプログラムを使ってDataloader(データローダ)を起動しても構いません。 いずれにしてもバッチ(自動)プログラムとしてDataloader(データローダ)を起動できることに大きな意味があります。

Dataloader(データローダ)をバッチプログラムから呼び出す

Dataloader(データローダ)を自動起動ツールではなく、外部に作成したバッチプログラムで起動するという点に絞って考えてみましょう。 Dataloader(データローダ)のバッチプログラムは2段階がお勧めです。

外部のバッチプログラムを利用するメリット

外部のバッチプログラムを使用してDataloader(データローダ)を起動させることのメリットは、基幹システムから出力した購買データ、売上データ、取引先マスタなどを取り込めることです。 もちろん基幹システムから出力したデータが何も手を加えずにSalesforceに取り込めるのであれば、OSの機能を使ってDataloader(データローダ)を自動起動すれば問題ないのですが、多くの場合、基幹システムのデータをそのままSalesforceに取り込むことはできません。 理由はいくつかあるのですが、基幹システムから出力したデータがCSV形式ではなくエクセル形式であったり、社員コードで入っているデータをSalesforceのユーザに変換したり、日付時刻型のデータをSalesforceのデータフォーマットに合わせるなどの事前処理が必要だからです。 こういった処理を行うためバッチプログラム開発をするのです。

Dataloader(データローダ)のバッチプログラムは2段階がお勧め

Dataloader(データローダ)のバッチプログラムを開発する場合は、 <第1段階> ・対象となるファイルを読み込む ・データを読み込んで然るべき項目のデータ型やデータに変換する ・変換したデータをCSVデータに出力する <第2段階> ・出力したCSVデータを使用してDataloader(データローダ)を呼び出す という段階を踏む必要があります。 この段階を踏むのであれば、それを開発する言語がJAVAであろうと、PHPであろうとも、それ以外の言語であっても問題はありません。

SalesforceでDataloader(データローダ)をバッチで呼び出そう

Salesforceにおいて、外部の基幹システムと連携する場合は、基幹システムからデータを出力し、Dataloader(データローダ)を起動することでデータ連携をすることができます。 これを完全自動化しようとすると、特にデータ出力のところが難しいのですが、Dataloader(データローダ)をバッチ起動するプログラムを作っておけば、半分の作業は自動化されます。 プログラムが1日1回、夜の0時に動くことにしておけば、基幹システムからデータ出力をして所定のフォルダにデータを置くという作業を夜の23時までに行えば翌日には最新のデータをSalesforceに入れた状態で業務がスタートできます。 是非そのためにDataloader(データローダ)バッチを開発することをお勧めします。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】