SalesforceのデータをTalendに取り込み

前回はTalendにログインができたので、今回からいよいよ実践編。
まずは、Salesforceから。

スポンサーリンク

Salesforceと接続する前にデモを確認

今回使用するのはTALEND PIPELINE DESIGNER(パイプラインデザイナー)。

データを取り込んで、取り込んだデータに対する処理フローをワークフローとして定義します。
ワークフローはデザイナー上で可視化しているので、ゴリゴリにコードを打ち込むことなくマウス操作をメインにフローが作成できます。
ちなみに、Talendではワークフローではなくパイプラインという名前で統一しているみたい。

まず、PIPELINE DESIGNERを起動。
Pipeline Desionerの起動

実際に作る前にすでに作成済みのデモ版を確認。
PIPELINE DESIGNERのデモパイプライン

なるほど、処理自体は視覚的に分かりやすいです。
Aircraftsデータ(JSON)を取り込んで、抽出や変換でデータを加工していき、最終的にはCSV形式のログに出すみたい。

パイプラインを構成するにあたり、基本的な流れとしては、

  1. データ取得
  2. 加工
  3. 出力

といった手順で処理していく感じになりそう。

Salesforceのデータを使用したパイプライン作成

デモ版を眺めたところで、Salesforceのデータを取り込んでパイプラインを作ってみます。

まずは左のメニューから[パイプライン]を選択し、[パイプラインの追加]を押しましょう。
パイプラインの作成

Salesforceからデータを取り込む

パイプラインの名前はそれっぽく変えておいて、[ソースの追加]からデータの取り込みを定義します。
ソースの追加からデータセットを設定

データセットを選択します…が、Salesforce系のデータセットがないので、新しく作りましょう。
[データセットの追加]を押します。
※今回はパイプラインから作成しましたが、直接左のデータセットメニューから作成してもOKです
データセットの選択からデータセットを作成する

データセットの作成画面へ。
データセット名は分かるような名前であればOK。
接続のところにSalesforceを選択したいところですが、こちらも接続を定義していないので、[接続を追加]でSalesforceとの接続情報を作ります。
最初から材料を揃えていればこんなことにはならないんですが、ゼロから作り始めると市役所現象(たらい回し)が起こります。。。
データセットの作成画面から接続を追加

巡り巡って接続の追加へ。
接続タイプは「Salesforce」を選択、エンジンには唯一作成されている組織を選択。
新しい接続の追加設定

スクロールしてユーザ名、パスワード、(あれば)セキュリティトークンを入れましょう。
URLはデフォルトの状態ですが、もしSalesforceに独自ドメインを適用している場合は適宜変えておきましょう。
必要情報を入力したら[テスト接続]。
Salesforceの認証情報を入力

おっと、エラーが発生。
テスト接続エラー

Salesforce側でセキュリティトークンを発行するか、信頼済みIPアドレスを加えるかしましょう。
僕はセキュリティトークンの発行が面倒だったので、後者の方法を使用しています。

IPアドレスはユーザのログイン履歴に失敗した記録があります。
IPアドレスを調べる

それを、ネットワークアクセスから信頼済みIP範囲に追加。
信頼済みIPアドレスに追加

再度[テスト接続]をして、今後は成功!
テスト接続成功

接続が成功したら[検証]を押しましょう。

これで接続の設定はおしまい。
データセットの作成に戻ります。

Salesforceとの接続が確立されるので、[Type]に「モジュールの選択」を選んで、あとは取得したオプジェクトとカラムを選択。
条件はお好みで。
モジュールの選択から取得するオブジェクトとカラムを指定

SOQLを熟知しているのであれば、[Type]の選択を「SOQLクエリ」にしてSOQLを打ち込んでもOK!
久しぶりにSOQL打ったなぁ。
SOQLクエリからデータセット作成

データが正しく取り込まれているか確認するために、[サンプルを表示]で確認しましょう。
実際にデータが取得できれば成功!
サンプルの表示でデータ取得の確認

データの取得も確認できたら[検証]を押してデータセットの作成は終了。
パイプラインにSalesforceのアイコンが付いてくるはず。
データソースの設定が完了

ふぅ、疲れた。
まだまだ前半だけど。

デスティネーションの追加

データの加工は置いといて、次にデスティネーションを追加します。
要は、受信側(保存先)をどうするかの設定です。

パイプライン上にある[デスティネーションの追加]をクリック。
デスティネーションの追加

今回はシンプルにログに出力してみます。
デフォルトである「Analysis Results Log」を選択。

データセットでAnalysis Results Logを選択

[レコードをSTDOUTに記録]はONにしておきます。
レコードをSTDOUTに記録

これでシンプルですが、パイプラインは完成。
早速実行しましょう。
パイプラインの実行

出力結果はちょっとわかりづらいけど、ここから確認。
パイプライン詳細はプロセッサー(パイプラインの処理部分)以外にマウスをクリックすれば出てきます。
実行してログを確認

レコードも表示されてるので、これでうまく取り込みと出力がされていますね。
ログ表示の確認

あとは間の処理にフィルタを入れたり、データを変換したりする感じでSalesforceのデータを扱っていくことになります。

Salesforceはコネクタが用意されていることもあり、シンプルに接続と取り込みができたと思います。
次回はDynamicsの方で実験。
果たしてうまくいくのか!?

コメント