[Talend]tSalesforceOutputを利用してSalesforceのデータを登録・更新する

はじめに

こんにちは。DI部の大高です。

今回はTalendのコンポーネント「tSalesforceOutput」によるデータの登録・更新を紹介したいと思います。

前提条件

Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.1.1」、Salesforceのバージョンは「Winter '19」で検証しています。

なお、Salesforceのアカウントが無い場合には、以下から開発者環境を無料で新規作成することができます。

Salesforce Developers

また、Salesforceについての細かい説明については記述しません。

tSalesforceOutputについて

「tSalesforceOutput」を利用するとSalesforceのデータを「INSERT」、「UPDATE」、「UPSERT」、「DELETE」することができます。今回はこの「UPSERT」についてです。

「tSalesforceOutput」コンポーネントのTalend Helpページはこちらです。

tSalesforceOutput

では、具体的に以下で解説していきます。

ジョブの説明

「tSalesforceConnection」でSalesforceに接続し、「tFixedFlowInput」でサンプルデータを作成して「tSalesforceOutput」でデータを登録・更新します。

「tSalesforceOutput」でのデータ登録については以下の記事をご参照ください。今回はこちらと同じ処理を流用してデータを取得します。

[Talend]tSalesforceOutputを利用してSalesforceのデータを登録する | DevelopersIO

Salesforceのデータについて

まず最初にSalesforceのデータを確認しておきます。

今回はサンプルとして「取引先」を扱いますので、「取引先」のデータを確認しておきます。

「取引先」が13件あります。今回は既に登録済みの「Kuji-Goji-Do」の「取引先 部門」の更新と、新規に1件の追加を行いたいと思います。なお、「Kuji-Goji-Do」の「Id」は事前に「0011000001KvCFMAA3」であることを調べています。

「tFixedFlowInput」コンポーネントの設定

「tFixedFlowInput」コンポーネントではサンプルデータとして登録・更新したい取引先を2件設定します。

スキーマ定義としては、キー項目となる「Id」と「取引先名」の「Name」、「取引先 部門」の「Site」を定義しています。今回はサンプルデータとして上記のように設定することで「Kuji-Goji-Do」の「取引先 部門」を「Customer Success」として更新し、さらに「New Account」という「取引先名」の取引先を追加します。

「tSalesforceOutput」コンポーネントの設定

コンポーネントにはSalesforceへのデータ出力に関する設定をします。

ここはほとんどINSERTの際の設定と変わりません。

「出力のアクション」を「UPSERT」にすると、「キーカラムのUPSERT」項目が表示されるので、ここにUPSERT時のキーを指定します。なお、キー以外の項目を指定するとエラーになるので注意してください。

実行結果

設定は以上です。実際にこのジョブを実行すると、Salesforce側の画面では以下のようになります。

設定したとおり、「Kuji-Goji-Do」の「取引先 部門」が更新され、更に新規に「New Account」が登録されました!

まとめ

以上、「tSalesforceOutput」コンポーネントによるデータの登録・更新の紹介でした。どなたかの参考になれば幸いです。

それでは。