[Talend]tSalesforceConnectionの詳細設定オプションを調べてみた

今回はTalendのコンポーネント「tSalesforceConnection」の詳細設定オプションを紹介したいと思います。
2018.10.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

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

今回はTalendのコンポーネント「tSalesforceConnection」の詳細設定オプションを紹介したいと思います。

前提条件

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

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

Salesforce Developers

tSalesforceConnectionについて

「tSalesforceConnection」を利用すると、Salesforceに接続をすることができ、その後の「tSalesforceInput」、「tSalesforceInput」コンポーネントなどでコネクションを利用することができます。

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

tSalesforceConnection

「tSalesforceConnection」コンポーネントの設定(詳細設定)

「tSalesforceConnection」コンポーネントでは接続の種類を「Basic」と「OAuth」から選択が可能で、それぞれの「基本設定」オプションについては以下の記事で紹介しています。

[Talend]tSalesforceConnectionを利用してSalesforceに接続する(Basic接続) | DevelopersIO

[Talend]tSalesforceConnectionを利用してSalesforceに接続しようとしてみた(OAuth接続) | DevelopersIO

今回は更に「詳細設定」のオプションについて解説していきます。オプション設定の画面は以下のような感じとなります。

SalesforceのURL

こちらは別記事での紹介の通り、Salesforceへのログインエンドポイントを指定します。

Salesforceの環境が「本番環境」、「開発環境」の場合には「https://login.salesforce.com/services/Soap/u/[バージョン番号]」とし、「Sandbox環境」の場合には「https://test.salesforce.com/services/Soap/u/[バージョン番号]」とします。

なお、このSalesforceのバージョン番号なのですが「Winter '19」では「44.0」となりますが、Talendのバージョンが「7.0.1.20180411_1414」バージョンにおいては「44.0」にすると「tSalesforceInput」でスキーマ定義の自動取得ができませんでした。

検証したところ「43.0」でも同じく取得できなかったため、現時点では「42.0」を指定しておくのが無難そうです。

APIのバージョン

「OAuth」接続の場合のみに利用できるオプションです。

Salesforce APIのバージョンをここに指定します。

バルク接続

このオプションを有効にすると、「tSalesforceOutputBulk」などのバルク処理が利用可能となります。逆に、無効の場合には利用することができません。

接続セッションを使用または保存

「Basic」接続の場合のみに利用できるオプションです。

このオプションを有効にすると、指定した「セッションディレクトリ」にセッション情報をファイルとして保存し、有効期間が切れるまでは保存されたファイルのセッション情報を利用して、同一セッションとして処理を行うようになります。

また、有効期間が切れた場合には別セッションになりますが、自動で再接続してくれるようです。

試したところ、具体的には以下のようなファイルが作成されていました。

sessionIDFile_[ユーザID]

#Thu Oct 25 10:08:02 JST 2018
SESSION_ID=00D10...ZW_Oy
MAX_VALID_SECONDS=7200
SERVICE_ENDPOINT=https\://ap.salesforce.com/services/Soap/u/42.0/00D10...

「MAX_VALID_SECONDS」が切れるまでは、この「SESSION_ID」を利用して接続しているようですね。

圧縮が必要

有効にするとSOAPメッセージを圧縮してくれます。

HTTP Chunkedの使用

「バルク接続」が無効の場合のみ利用できるオプションです。

有効にするとHTTPのチャンク転送が行われます。

トレースHTTPメッセージ

「バルク接続」が有効の場合のみ利用できるオプションです。

有効にすると以下のようなHTTPのトレースメッセージが表示されるようになります。

WSC: Creating a new connection to https://ap.salesforce.com/services/async/42.0/job/ Proxy = DIRECT username null
WSC: Connection configured to have request properties {X-SFDC-Session=[00D10...ZW_Oy], Content-Encoding=[gzip], User-Agent=[Salesforce Web Service Connector For Java/1.0], Accept-Encoding=[gzip], Content-Type=[application/xml]}
------------ Request start   ----------
<?xml version="1.0" encoding="UTF-8"?><jobInfo
   xmlns="http://www.force.com/2009/06/asyncapi/dataload">
 <operation>delete</operation>
 <object>Account</object>
 <concurrencyMode>Parallel</concurrencyMode>
 <contentType>CSV</contentType>
</jobInfo>
------------ Request end   ----------
...

クライアントID

ヘルプには「同じアカウントとパスワードを使用するユーザーを区別するために、実際のユーザーのIDを入力する」という意味の記述があるのですが、具体的にこの指定が、どう影響するかまではわかりませんでした。

なにかわかったら更新したいと思います。

タイムアウト

コネクションのタイムアウト時間をミリ秒で指定します。

プロキシの使用

Salesforceにプロキシ接続する際には、ここにプロキシ設定を行います。

tStatCatcher統計情報

これは基本的に大体のコンポーネントが持っているオプションですが、「tStatCatcher」コンポーネントで統計情報を利用する際に有効にします。

まとめ

以上、「tSalesforceConnection」の詳細設定オプションの紹介でした。

色々なオプションがありますが、特に「バルク接続」や「接続セッションを使用または保存」などは、よく利用しそうなオプションではないでしょうか。

それでは。