今回はTalendのコンポーネント「tSalesforceInput」を紹介したいと思います。'19」で検証しています。Salesforceのアカウントが無い場合には、以下から開発者環境を無料で新規作成することができます。Developersまた、Salesforceについての細かい説明については記述しません。tSalesforceInputについて「tSalesforceInput」を利用するとSalesforceからデータを取得することができます。Helpページはこちらです。tSalesforceInputでは、具体的に以下で解説していきます。「tSalesforceConnection」でSalesforceに接続し、「tSalesforceInput」でデータを取得して「tLogRow」で取得結果を標準出力に表示します。サブジョブを2つ作成しており、「tSalesforceInput」の設定が上から順に「通常のSELECT」、「SOQLクエリでSELECT」になるように設定してあります。Salesforceのデータについてまず最初にSalesforceのデータを確認しておきます。今回はサンプルとして「取引先」を扱いたいと思いますので、「取引先」のデータを確認してみます。確認すると全部で12件のレコードが登録されています。Oil」で始まる取引先が3件あるようです。これをふまえて、ジョブを作成していきます。「tSalesforceConnection」コンポーネントでは「接続の種類」を「Basic」として設定しました。こちらのコンポーネントの細かい設定などについては以下の記事をご参照ください。7.1.1」では「詳細設定」の「SalesforceのURL」はデフォルトで「"https://login.salesforce.com/services/Soap/u/44.0"」と設定されていました。Salesforce側のバージョンアップに伴い早速修正が入っており、嬉しい限りです。「tSalesforceInput」コンポーネントの設定コンポーネントの設定コンポーネントにはSalesforceからのデータ取得に関する設定をしていきます。接続コンポーネントここでは先程設定した「tSalesforceConnection」のコンポーネントをプルダウンから指定します。Component」を選択して、ここで直接接続設定をすることもできます。取得したいSalesforceのオブジェクトのことを指します。今回は対象オブジェクトとして「取引先」を取得したいと思います。右端の「...」をクリックするとオブジェクト選択ウィンドウが開きます。上部の「フィルタテキストの入力」の箇所に「取引先」と入力すると、「取引先」を含むオブジェクトが表示されるので「取引先」を選択して「OK」をクリックします。カスタムオブジェクトを指定したい場合には「カスタムオブジェクトの使用」にチェックを入れて「オブジェクト名」にカスタムオブジェクト名(API参照名)を指定することで、取得することが可能です。「モジュール名」の設定がおわったらスキーマ定義を開いてみます。すると、自動で該当オブジェクトのスキーマが定義されているのが確認できます。今回は、Salesforceの画面で確認したようなデータを取得したいと思うので、少しカラムを削ってみました。先程画面で確認した「取引先所有者(別名)」については、ここでは「OwnerId」のままとし「取引先所有者」の「Id」を取得しています。クエリーモードクエリーモードには「Query」と「Bulk」があります。大量データの取得時など、バルククエリを利用してSalesforceのAPIコール数を削減したい場合には「Bulk」に設定するとよいと思います。その場合には、「tSalesforceConnection」の設定で「バルク接続」を有効化する必要があるので注意してください。今回は「Query」のままとしました。条件いわゆるWHERE句の設定です。Oil%'"」に設定しました。手動クエリーこのオプションを有効にすると、SOQLクエリを直接記述することができます。1つの「tSalesforceInput」コンポーネントでは、これを有効にして直接SOQLクエリを記述してみました。クエリは以下の通りとなります。Oil%'なお、こちらのSOQLクエリでは「取引先所有者(別名)」について「Owner.Alias」としてきちんと「取引先所有者(別名)」を取得するように修正してみました。この場合にちょっと注意が必要なのが「Owner.Alias」のカラムです。カラム名に「.(ドット)」が含まれているのですが、これはスキーマ定義では以下のように「_(アンダースコア)」で置き換えて「Owner_Alias」にする必要があります。schema」ボタンが用意されているので、実はこのボタンをクリックすれば自動でスキーマ定義を推測して設定することも可能です。削除済みレコードも含めるこのオプションを有効にすると、Salesforceで削除済みのレコードも取得することができます。このオプションは「クエリーモード」が「Query」の場合のみ、利用可能です。今回は無効にしました。「tLogRow」コンポーネントでは「モード」を「テーブル」に設定して、結果を見やすくしてみました。実際にこのジョブを実行すると以下のように出力されます。Oil」から始まる取引先が取得できています!また、SOQLクエリで処理したほうは「取引先所有者(別名)」も取得できていますね。まとめ以上、「tSalesforceInput」コンポーネントの紹介でした。Salesforceのデータを利用したいケースは多いと思いますので、どなたかの参考になれば幸いです。271,321DA(データアナリティクス)事業本部の大高です。2018/08〜ジョイン。最近はプロダクトチームでカスタマーストーリーアナリティクスの開発をしています。地図データ、Angular、Talend、Salesforceなどが好物です。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。濱田孝治371re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。PolicyのConditionにaws:CalledViaというキーが追加されました。いったキーなのかご説明します。夏目祐樹410こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。濱田孝治371re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。臼田佳祐296ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介256SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。