3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SalesforceAdvent Calendar 2022

Day 18

TalendでSalesforceにデータインポート

Last updated at Posted at 2022-12-17

はじめに

この投稿はSalesforce Advent Calendar 2022の18日目の記事です。
昨年に続き、今年も投稿させていただきます。

以前までは、データローダで、Salesforceにデータの連携をしてきました。
しかし最近は、TalendでSalesforceとのデータを連携することが多いです。
せっかくなので、Talendで簡単なジョブを作成しSalesforceへデータをインポートする流れを、記事にしてみようと思います。

Talendってなに?

公式サイトでは、下記のように説明されています。

Talendは、データ統合、データ整合性、データガバナンス、リアルタイムデータ配信のための単一の統合プラットフォームを提供します。
- あらゆるデータソースからあらゆるデータデスティネーションに接続
- クラウド、オンプレミス、ハイブリッド構成でのデプロイ
- データ統合コストの削減
- データガバナンスのコンプライアンスにかかる時間を短縮

要するに、汎用性の高いETLツールです。
ETLツールとは、データを「Extract(抽出)」し、「Transform(加工)」したうえで、「Load(書き出し)」できるツールのカテゴリーの一つを指します。3つの頭文字を略して、ETL(イー・ティー・エル)と称します。

  • Extract:抽出
  • Transform:加工
  • Load:書き出し

Talendは、GUI操作で直感的にわかり易くジョブを作って、データの連携ができる特徴があります。
OSS版の、Talend Open Studioであれば無償で利用可能なので、ETLツールを試してみたい方にもおすすめです。私も無償版ですが、Salesforceとのデータ連携においては十分に重宝しております。必要に応じて、自分でJavaを書いてルーチンを用意しておくことも可能です。

Talendの環境構築

Oracleのサイトから、ダウンロード&インストールします。
JDK

Talendのサイトからダウンロード&インストールします。
Talend Open Studio

Salesforce組織を用意

今回は、デモ用のTrailhead Playgroundでテストしていきます。
Trailhead Playgroundを新しく作成して、パスワードのリセットをします。

今回はSalesforceへデータをインポートする、一連の流れを解説します。

Talendでプロジェクトを作成

まず、Talendを起動します。
01Talend.png

Talendが起動したら、「新規プロジェクトを作成」で任意の名前で作成します。
02Talend.png

新規プロジェクトが作成されたら、画面下側の「Start now!」をクリックします。
05Talend.png

下記のようなTalendの初期画面が開きます。
06Talend.png

Talendを操作してみる

ここから実際の作業解説です。ぜひデータ連携をお時間あるときにご自身の環境でもお試しください。
今回はシンプルに、Salesforceに、取引先をインポートしてみたいと思います。

Talendに慣れていない方は、少しづつ進めてみてください。
逆に、Talendや他のETLツールに慣れている方には、簡単に思えるかもしれません。

ジョブを作成する

最初に、画面左の「ジョブ」から、「ジョブの作成」を開きます。
07Talend.png

「新規ジョブ」に任意の名前をつけます。
09Talend.png

新しくジョブが作成されます。
10Talend.png

Excelファイルを用意する

下記のような、インポート用のExcelファイルを用意します。
11Talend.png

画面左のメタデータ>Excelファイルから、「Excelファイルの作成」を開きます。
12Talend.png

ステップ1of4はそのまま「Next」をクリックして、ステップ2of4に進みます。
ファイルを「参照」して、先程のExcelを選択します。
13Talend.png

ステップ2of4「Next」をクリックして、ステップ3of4に進みます。
プレビューで、「最初の行をカラム名として設定」にチェックを入れます。
14Talend.png

ステップ3of4「Next」をクリック、そのままステップ4of4に進んで「Finish」をクリックします。
15Talend.png

画面左のメタデータ>Excelファイルに、「inAccount 0.1」が作成されます。
15Talend.png

「inAccount 0.1」を、中央のデザイナー画面にドラッグ&ドロップして配置します。
[tFileInputExcel]コンポーネントを選択します。
17Talend.png

移行元データを抽出するコンポーネントが、下記の[tFileInputExcel]コンポーネントです。
18Talend.png

tMapコンポーネントを配置する

次に、中央のデザイナー画面で、「tmap」とタイピングして、[tMap]を選択します。
19Talend.png

「tMap」は、先程の[tFileInputExcel]の連携するデータの、中間役になるコンポーネントです。
20Talend.png

[tFileInputExcel]を右クリックして、「ロウ」>「メイン」を選択します。
21Talend.png

デフォルトで「row1」というルートができるので、マウスで[tMap]に接続します。
この接続で、データをコンポーネントから他のコンポーネントに渡せます。
22Talend.png

[tMap]内の左側に「row1」が確認できます。
23Talend.png

右上の緑+ボタンをクリックして、New outputを作成します。名前は任意です。
25Talend.png

[tMap]内でアウトプット先が作成されました。
26Talend.png

左側に「row1」のカラムから、「Name」を右側の「out1」にドラッグ&ドロップします。
27Talend.png

同じく「Phone」も右側の「out1」にドラッグ&ドロップして、下記のように接続します。
29Talend.png

tSalesforceOutputコンポーネントを配置する

最後に、アウトプット用のコンポーネントを作成します。
画面左のメタデータ>Salesforcec>「Salesforce接続」を開きます。
30Talend.png

「Salesforce接続設定」の名前は任意で、該当組織のユーザIDとパスワードを入力します。
31Talend.png

今回はデモ用のTrailhead Playgroundでパスワードリセットを使用してます。
詳細は下記をご参照ください。

送信されたパスワードリセットから、Playgroundで再ログインをしたら、下記手順でセキュリティトークンのリセットを行います。
-個人設定から、[クイック検索] ボックスに「リセット」と入力し、[私のセキュリティトークンのリセット] を選択します。
-[セキュリティトークンのリセット] をクリックします。Salesforce 個人設定のメールアドレスに新しいセキュリティトークンがメールで送信されます。
32Talend.png

詳細は下記をご参照ください。

「Salesforce接続設定」の右側下「セキュリティトークン」に送信された新しいセキュリティトークンを入力します。
33Talend.png

「Test connection」を押下して、接続テストをします。
34Talend.png

下記のように接続テストの成功を確認します。
35Talend.png

「Next」で、デフォルトのまま「Finish」をクリックします。
36Talend.png

画面右側の「Salesforce」の下に「Salesforce 0.1」が作成されます。
37Talend.png

「Salesforce 0.1」を、中央のデザイナー画面の[tMap]の右側にドラッグ&ドロップして配置します。
[tSalesforceOutput]コンポーネントを選択します。
38Talend.png

[tSalesforceOutput]を右クリックして、「ロウ」>「out1」を選択します。
39Talend.png

先程作成した「out1」というルートができるので、マウスで[tSalesforceOutput]に接続します。
40Talend.png

[tSalesforceOutput]コンポーネントの、スキーマの編集を開きます。
41Talend.png

[tSalesforceOutput]コンポーネントの、モジュール名をクリックして、「取引先」にチェックを入れます。
42Talend.png

下記のように、モジュール名に"Account"が表示されていることを確認します。
43Talend.png

[tSalesforceOutput]コンポーネントで、「実行」をクリックします。
44Talend.png

「実行」をクリックした後、下記のように表示されたら成功です。
ジョブ~~~を~~~で開始します。
ジョブ~~~が~~~で終了しました。 [終了コード = 0]
45Talend.png

Salesforce組織を確認すると、無事にデータがインポートされました。
46Talend.png

まとめ

ここまで読んでいただき、ありがとうございます!

今回は、初めてTalendに触れる方でも分かりやすいよう、3件の取引先をインポートしました。
もしかしたら、準備や作業手順が多くて面倒に思った方もいるかも知れません。
しかし、データが10,000件、100,000件と増えて、作業の繰り返しが多くなると、ETLツールの効果を実感されると思います。

特に、Talendのデータ連携は、Salesforceでデータが多くなったり、マッピング項目・参照関係が増えて複雑になっても、対応可能範囲が広いですし、慣れてしまえばマッピング作業も楽になります。
今までETLツールを使ったことがなかったという方は、ぜひお試ししてみてください!

3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?