IT人材をお探しの方は、まずはお電話ください。担当営業がすぐにご要望にマッチした人材をご提案いたします。
tel:03-6409-6766 お急ぎの方はお電話ください

ブログTOP > IT・技術関連 > Salesforceでデータローダバッチを使用して外部データを自動連携する

Salesforceでデータローダバッチを使用して外部データを自動連携する

IT・技術関連 更新日:2024.09.05
エンジニア採用
Salesforceでデータローダバッチを使用して外部データを自動連携する

データローダバッチとは? Salesforceを運用する際、基幹システムのデータを使いたいというシーンは多くあります。 顧客マスタ、売上(販売)データ、商品マスタ、在庫データなどは基幹システムに入っていることが多く、これを最初からSalesforceで入力して管理をしようとするのはかなり無謀です。 販売管理、在庫管理、会計システムなどはそれ専用に特化して作られたシステムであるということ、すでに使い慣れたシステムとなっていることから、特にSalesforce導入の初期段階では「データだけ」を連携するという方法を取られることが多くなります。 もちろん、「データだけ」であってもそれをリアルタイムに同期したいということになるとAPIを介したリアルタイムのデータ同期が必要となるのですが、これをやるにはかなりの開発コストがかかります。 従って、1日~1週間に1回だけ動くバッチプログラムでデータを半自動的に取り込むことになります。

データローダとは?

その前にそもそも「データローダ」とは?という話が必要ですので解説します。 データローダとは、Salesforce社が公式で用意しているデータのインポート&エクスポートのためのツールです。 これを使用することで、Salesforceのデータを入出力できるようになります。 手動でSalesforceに取り込む、ということであればデータローダを使わなくても、Salesforceの機能として用意してあるデータインポートウィザードを使用すれば多くのオブジェクトはインポートが可能です。 しかし、自動でインポートを行う場合はデータローダを使って、正確には自動的にデータローダを動かしてデータをインポートする必要があります。

データローダをバッチで動かす方法

データローダはWindowsではコマンドラインで動かすことが可能です。 通常はGUI画面で動かすのですが、その際も裏ではコマンドラインで動いているのがわかります。 このデータローダをコマンドラインからバッチモードで動かすことで、GUIの画面を介さずにデータローダを動かすことができます。 実際はセキュリティトークンを取得して使うなど、動かすためにそれなりの手続きはありますが、手順通りの設定ができればデータローダを動かすことができます。 運用する手順としては、まずインポートしたいデータファイルを所定のフォルダに入れていただき、Windowsのタスクスケジューラ機能で起動するように設定すると自動的に実行されます。 インポート用のファイルを1日の終わりの作業として所定のフォルダに格納する作業を20時に行うとして、起動時間を毎日23時にしておけば日付が変わるまでに外部データを連携できることになります。

最も大事なのはマッピングファイル

ここまでの流れは、データローダに処理をさせるCSVファイルを所定のフォルダ内に置いておけば、Windowsのスケジューラー機能で自動実行するだけなのでさほど難しくはありません。 ここで難しいのはマッピング作業となります。 マッピング作業とは読み込むCSVファイルの列に対して、Salesforceのどの項目を当てるのかを指定する作業のことです。 Salesforceの項目のAPI名が英語なので、その英語で表記された項目に、読み込むファイルのどの列を関連付けるのかを設定し、そのマッピング情報を設定ファイルとして保存しておく必要があります。 データローダバッチはただファイルを読み込んで処理するだけではなく、マッピングをしたSDLファイル(拡張子:*.sdl)に基づいてインポート処理をしています。

SDLファイルの作り方

上記で出てきたマッピングファイル(SDLファイル)は、データローダのGUIモードで作ることができます。 CSVファイルを読み込んで、データローダでインポートしようとすると、マッピングを手動で設定するか、SDLファイルを読み込むかを選択させられます。 このマッピングを手動で設定して、SDLファイルとして書き出すことができれば、データローダをバッチモードで動作させる時にこのSDLファイルを使うことが可能となります。

データを読み込む際には順番にも注意する

データローダバッチを起動するにあたって、最後に注意をしたい点はファイルを読み込む際の「順番」です。 これがマスタデータをインポートするという場合は順番は問題がないのですが、トランザクションデータを入れる場合は、先にマスタデータをインポートしてから、外部IDを使用してトランザクションデータをインポートする必要があります。 若干難しく感じるかも知れませんが、取引先責任者や商談をインポートしようとする際は、先にリレーションする親の取引先のデータを入れてからにしましょうということです。 この順番を間違えると、取引先のない取引先責任者や商談をインポートさせようとするため、エラーが発生します。 従って、先にインポートするのは取引先で、その取引先には外部IDを入れておきましょう。 取引先責任者や商談は外部IDとして参照させる項目を持っておいて、それを取引先の外部IDとして参照させながらインポートを行います。

データローダバッチを実現する他の方法

データローダバッチは、上記のことをWindowsのスケジューラー機能を利用して行います。データローダをバッチモードで起動し、SDLファイルを読み込ませる形で実行します。 この場合、プログラムを開発する必要はないのですが、プログラムを組んで同じことを実現することも可能です。 よく使われるのはJavaです。 Javaでプログラムを組んでWindowsから実行するという形でデータローダバッチを実現します。

Java等のプログラム実行が良い点

基本的にはJavaプログラムのようなものは作らなくても、上記でご案内した方法を取れば自動的にインポートを実施する仕組みは設定できます。 しかし、Javaプログラムを使用することで、細かな処理を入れることができます。 たとえば基幹システムのデータに都道府県がコードでしか入っていない場合、それを都道府県に変換してSalesforceに入れるというのは、Salesforceだけでやろうとすると大変な作業になります。 また、項目のフォーマット変換を行ったり、特定条件のレコードをインポートから除外したりするようなことはプログラムに処理や判定ロジックを入れないと実行できません。 そのような場合にはJava等でプログラムを組む方が応用性があります。 また複数のCSVファイルを読み込む際も、どのファイルを先に読んで、次にこのファイルを読むといったようなこともプログラムで処理をしますので、自由度も高いです。

プログラムの動き方は同じ

Windowsのスケジューラーでデータローダバッチを使用するのも、Javaプログラムなどを通じてデータローダバッチを使用するのもプログラムの動き方は同じです。 ①所定のフォルダからCSVファイルを読み込む ②マッピングを行う ③データローダバッチを起動する これを行うのに、プログラムの開発を必要とするかどうかが異なる点です。シンプルにできるなら前者が良いですし、細かく色々な処理を入れたいなら後者をお勧めします。

外部データ連携はデータローダバッチで

基幹システムの外部データをSalesforceに自動でインポートするにはデータローダバッチが便利です。 1日1回の更新で事が足りるようであれば尚更です。 この実現のためには、基本的な機能だけで実現する方法と、プログラムを開発して行う方法がありますが、どちらにもメリットとデメリットがあるので、それらをきちんと検討してから取り組みましょう。]]>

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニアAWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。

・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
ITエンジニアの派遣を利用したい企業様へ
ITエンジニアを派遣で採用したい企業様へ
  • 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
  • すぐに採用したいが、応募がぜんぜん集まらない
こんな悩みをお持ちの採用・人事担当者の方は、
オープンアップITエンジニアをご検討ください!

当社のITエンジニア派遣サービスは

  • 派遣スピードが速い!(最短即日)
  • 4,500名のエンジニアから貴社にマッチした人材を派遣
  • 正社員雇用も可能

こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。

無料相談のお申し込みはこちら
IT・技術関連の記事一覧へ

カテゴリから記事を探す

すべての記事一覧へ