[Talend]tSalesforceOutputを利用してSalesforceのデータを登録・更新する
はじめに
こんにちは。DI部の大高です。
今回はTalendのコンポーネント「tSalesforceOutput」によるデータの登録・更新を紹介したいと思います。
前提条件
Talendのバージョンは「Talend Open Studio for Big Data」の「Version 7.1.1」、Salesforceのバージョンは「Winter '19」で検証しています。
なお、Salesforceのアカウントが無い場合には、以下から開発者環境を無料で新規作成することができます。
また、Salesforceについての細かい説明については記述しません。
tSalesforceOutputについて
「tSalesforceOutput」を利用するとSalesforceのデータを「INSERT」、「UPDATE」、「UPSERT」、「DELETE」することができます。今回はこの「UPSERT」についてです。
「tSalesforceOutput」コンポーネントのTalend Helpページはこちらです。
では、具体的に以下で解説していきます。
ジョブの説明
「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」コンポーネントによるデータの登録・更新の紹介でした。どなたかの参考になれば幸いです。
それでは。