# tSalesforceInput

クエリーに基づいてSalesforceオブジェクトからデータを取得します。

情報メモ注:

デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、[機能マネージャーを使って機能をインストール](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/install-features-to-talend-studio)をご覧ください。

## tSalesforceInputの標準プロパティ

これらのプロパティは、標準ジョブのフレームワークで実行されているtSalesforceInputを設定するために使われます。

標準のtSalesforceInputコンポーネントは、ビジネスファミリーとCloudファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| [Property Type] (プロパティタイプ) | 接続の詳細を設定する方法を選択します。<br><br><ul> <li> <p> <span>[Built-In] (組み込み)</span>: このコンポーネントの接続の詳細がローカルに設定されます。関連するすべての接続のプロパティ値を手動で指定する必要があります。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: <span><span>[Repository] (リポジトリー)</span><abbr> &gt; </abbr><span>[Metadata] (メタデータ)</span></span>で一元的に保存された接続の詳細が、このコンポーネントによって再使用されます。 </p> <p>このチェックボックスの横にある <span>[...]</span> ボタンをクリックし、表示された <span>[Repository Content] (リポジトリーのコンテンツ)</span>ダイアログボックスで、再使用する接続の詳細をオンにすると、関連するすべての接続のプロパティに値が自動的に入力されます。</p> </li> </ul><br><br>[Connection Component] (接続コンポーネント)ドロップダウンリストから、他の接続コンポーネントを選択した場合、このプロパティは、利用できません。 |
| [Connection Component] (接続コンポーネント) | このコンポーネントで再利用するデータベース接続を開くコンポーネントを選択します。 |
| [Connection type] (接続タイプ) | ドロップダウンリストから、接続のタイプを選択します。接続のプロパティは、選択した接続タイプによって異なります。<br><br><ul> <li> <p><span>基本(非推奨)</span>: このオプションでは、従来のユーザー名、パスワード、セキュリティトークン(「SOAP API login()」)を使用してSalesforceで認証します。Salesforceは、Summer '27リリース以降、APIバージョン31.0から64.0でのSOAP API login()のサポートを廃止し、APIバージョン65.0以降では利用できなくなります。そのため、基本認証は非推奨となり、選択したAPIバージョンに関係なく、近い将来に機能しなくなる可能性があります。</p> </li> <li> <p><span>OAuth</span>: このオプションは、OAuth(Open Authorization)2.0プロトコルを使用して、<span>Json Web Token Flow</span> OAuth 2.0認証フロータイプでユーザーを認証します。このオプションを使用するためには、Salesforceで接続アプリケーションを作成し、Salesforce認証プロバイダーを設定する必要があります。</p> <p>OAuth認証フローの詳細は、<a href="https://help.salesforce.com/articleView?id=remoteaccess_authenticate.htm&amp;type=5" target="_blank">Authenticate Apps with OAuth</a>をご覧ください。</p> <p>Salesforceで接続アプリケーションを作成する方法は、<a href="https://help.salesforce.com/articleView?id=connected_app_create.htm&amp;type=5" target="_blank">接続アプリケーションを作成</a>をご覧ください。</p> </li> </ul> |
| [User Id] (ユーザーID) | Salesforceのユーザー名。<br><br>このプロパティは、[Basic] (基本)接続タイプが選択されている時のみ利用可能です。 |
| [Password] (パスワード) | ユーザー名に関連付けられたSalesforceのパスワード。<br><br>このプロパティは、[Basic] (基本)接続タイプが選択されている時のみ利用可能です。 |
| [Security Token] (セキュリティトークン) | Salesforceのセキュリティトークン。詳細は、[セキュリティトークンのリセット](https://help.salesforce.com/articleView?id=user_security_token.htm&type=5)をご覧ください。<br><br>このプロパティは、[Basic] (基本)接続タイプが選択されている時のみ利用可能です。 |
| [Issuer] (発行者) | 接続アプリケーションが作成され、Salesforceの接続アプリケーションの詳細ページに表示される時に生成されるOAuthコンシューマーキー。詳細は、[接続アプリケーションを作成](https://help.salesforce.com/articleView?id=connected_app_create.htm&type=5)をご覧ください。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [Subject] (件名) | Salesforceのユーザー名。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [Audience] (オーディエンス) | Json Webトークンのオーディエンス。<br><br>独自のJson Webトークンオーディエンスを設定できます。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [Expiration time (in seconds)] (有効期限(秒)) | 5分以内のアサーションの有効期限(秒)。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [Key store] (キーストア) | Java KeyStore (JKS)形式のキーストアファイルへのパス。<br><br>KeyStoreファイルは、Salesforceによって署名された証明書を作成し、それをKeyStoreにエクスポートすることで生成できます。詳細は、[自己署名証明書の生成](https://help.salesforce.com/articleView?id=security_keys_creating.htm&type=5)をご覧ください。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [KeyStore password] (KeyStoreパスワード) | KeyStoreのパスワード。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [Certificate alias] (証明書の別名) | Salesforceによって署名された証明書の一意の名前。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [Mutual authentication] (相互認証) | このオプションをオンにすると、Salesforceへの接続を確立するための相互認証を有効にできます。Salesforceでの相互認証の詳細は、[Set Up a Mutual Authentication Certificate](https://help.salesforce.com/s/articleView?id=sf.security_keys_uploading_mutual_auth_cert.htm&type=5)をご覧ください。<br><br>このオプションを使用する場合:<br><br><ul> <li> <p>コンポーネント側で<a href="https://help.qlik.com/talend/r/ja-JP/8.0/components/keystore/tsetkeystore">tSetKeystore</a>コンポーネントを使い、相互認証キーストアとキーストアパスワードを提供します。</p> </li> <li>メタデータ側で<span><span>[Window] (ウィンドウ)</span><abbr> &gt; </abbr><span>[Preferences] (基本設定)</span><abbr> &gt; </abbr><span>Talend</span><abbr> &gt; </abbr><span>[Security] (セキュリティ)</span><abbr> &gt; </abbr><span>SSL</span></span>と進み、対応するキーストア構成を設定します。</li> </ul><br><br>デフォルトでは、このオプションは選択されていません。 |
| [Mutual auth keystore] (相互認証キーストア) (非推奨) | 相互認証KeyStoreファイル(キーと証明書を含むパスワードで保護されたファイル)へのパスを入力します。<br><br>このオプションは非推奨です。[tSetKeystore](https://help.qlik.com/talend/r/ja-JP/8.0/components/keystore/tsetkeystore)コンポーネントを使って相互認証キーストアとキーストアパスワードを提供することをお勧めします。<br><br>このオプションは、接続タイプが[Basic] (基本)で、[Mutual authentication] (相互認証)チェックボックスがオンになっている時に利用できます。 |
| [Mutual auth keystore password] (相互認証KeyStoreパスワード) | 相互認証KeyStoreファイルのパスワードを入力します。<br><br>このオプションは、接続タイプが[Basic] (基本)で、[Mutual authentication] (相互認証)チェックボックスがオンになっている時に利用できます。 |
| [Module Name] (モジュール名) | フィールドの横にある[...]ボタンをクリックし、表示されたダイアログボックスで、使われるモジュールを選択します。または、[Use custom object] (カスタムオブジェクトの使用)チェックボックスをオンにして、[Object Name] (オブジェクト名)フィールドにモジュール名を指定します。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul><br><br>このコンポーネントでは、スキーマは選択したモジュールに関連しています。<br><br>リンクされたモジュールからカラムを取得するには、[Edit schema] (スキーマを編集)ビューで特定の方法でカラムを定義する必要があります。そうしないと関係クエリーが機能しません。正しい構文は次のとおりです: NameofCurrentModule\_Nameof-<br><br>LinkedModule\_NameofColumnofInterest<br><br>このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)をご覧ください。<br><br>ダイナミックスキーマ機能は、モジュールの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。モジュールの作成には推奨しません。 |
| [Query Mode] (クエリーモード) | ドロップダウンリストからクエリーモードを選択します。[Query] (クエリー)、[Bulk] (バルク)、またはBulkV2のいずれかです。<br><br><ul> <li> <p> <span>[Query] (クエリー)</span>: 通常のクエリー。</p> </li> <li> <p> <span>[Bulk] (バルク)</span>: 大規模なデータセットを効率的にクエリーし、APIリクエストの数を減らすために使われるバルククエリー。</p> </li> <li> <span>BulkV2</span>: さらに大量のデータをクエリーするために使うバルククエリーです。関連情報は<a href="https://developer.salesforce.com/docs/atlas.en-us.api_bulk_v2.meta/api_bulk_v2/introduction_bulk_api_2.htm" target="_blank">BULK API 2.0</a>をご覧ください。</li> </ul> |
| [Condition] (条件) | たとえば*"name='Talend'"*または*"name like '%talend\_user%'"*のように、抽出するデータの選択に使うクエリーを二重引用符で囲んで入力します。<br><br>このプロパティは、[Manual Query] (手動クエリー)チェックボックスがオンになっている場合は利用できません。 |
| [Manual Query] (手動クエリー) | このチェックボックスをオンにして、表示される[Full SOQL query string] (完全なSOQLクエリーの文字列)フィールドで、取得するデータの選択に使う完全なSOQL (Salesforce Object Query Language)ステートメントを二重引用符の間に入力します。SOQLの詳細は、[Salesforce Object Query Language (SOQL)](https://developer.salesforce.com/docs/atlas.en-us.200.0.soql_sosl.meta/soql_sosl/sforce_api_calls_soql.htm)をご覧ください。 |
| [Guess Schema] (推測スキーマ) | このボタンをクリックすると、[Full SOQL query string] (完全なSOQLクエリーの文字列)フィールドで指定されたクエリーに基づいてスキーマカラムが生成されます。ネットワークプロキシを使用している場合、この機能はSOCKSプロキシでのみ使用できます。SOCKSプロキシを作成するには、[Use Proxy] (プロキシの使用)オプションを選択し、[Advanced settings] (詳細設定)ビューで関連するパラメーターを入力します。<br><br>このプロパティは、[Manual Query] (手動クエリー)チェックボックスがオンになっている時のみ利用可能です。<br><br>この機能を使う場合は、注意が必要ないくつかの制限があります。詳細は、リリースノートで既知の制限をご覧ください。 |
| [Guess Query] (クエリーを推測) | このボタンをクリックすると、定義されたモジュールとスキーマに基づいて[Full SOQL query string] (完全なSOQLクエリーの文字列)フィールドにクエリーが生成されます。<br><br>SOQLクエリを生成する際にモジュールとスキーマを正しく設定する方法の詳細は、[tSalesforceInputの推測クエリー機能のスキーマを設定する方法](https://help.qlik.com/talend/ja-JP/components/8.0/salesforce/how-to-set-schema-for-guess-query-feature-of-tsalesforceinput)をご覧ください。<br><br>このプロパティは、[Manual Query] (手動クエリー)チェックボックスがオンになっている時のみ利用可能です。<br><br>この機能を使う場合は、注意が必要ないくつかの制限があります。詳細は、リリースノートで既知の制限をご覧ください。 |
| [Include deleted records] (削除済みレコードを含める) | 削除されたレコードを含むすべてのレコードをクエリーするには、このチェックボックスをオンにします。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| Salesforce URL | Salesforceへの接続に必要なWebService URL。<br><br>情報メモ警告: Salesforceの最近のバージョンで行われた[大幅な変更](https://help.salesforce.com/s/articleView?id=release-notes.rn_security_mutual_authentication.htm&release=246&type=5)のため、相互認証で[Basic] (基本)接続タイプを使用する場合は、ジョブの実行中にエラーが発生しないようエンドポイントを調整する必要があります。例: https://MyDomainName.my.salesforce.com:8443/services/Soap/u/version |
| [API version] (APIバージョン) | Salesforce APIバージョン。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [Use or save the connection session] (接続セッションを使用または保存) | このチェックボックスをオンにして、[Session directory] (セッションディレクトリー)フィールドが表示されたら、保存または使用する接続セッションファイルへのパスを指定します。<br><br>このセッションファイルは、コンポーネントによって正しいユーザーIDが提供されている限り、異なる複数のジョブが共有して接続セッションを取得できます。このため、セッションを取得するためにサーバーに接続する必要はありません。<br><br>期限切れのセッションが検出された場合は、正しい接続情報(ユーザーID、パスワード、セキュリティキー)を入力すれば、コンポーネントはサーバーに接続して新しいセッション情報を取得し、接続セッションファイルをアップデートします。<br><br>このプロパティは、[Basic] (基本)接続タイプが選択されている時のみ利用可能です。 |
| 圧縮が必要 | SOAPメッセージ圧縮を有効にする場合は、このチェックボックスをオンにします。これにより、パフォーマンスが向上する場合があります。 |
| [Trace HTTP message] (HTTPメッセージをトレース) | コンソールでのHTTPインタラクションを出力する場合は、このチェックボックスをオンにします。<br><br>このオプションは、[Query Mode] (クエリーモード)ドロップダウンリストから、[Bulk] (バルク)が選択されている時のみ利用可能です。 |
| [Use HTTP Chunked] (HTTP Chunkedを使用) | HTTP Chunkedデータ転送メカニズムを使う場合は、このチェックボックスをオンにします。<br><br>このプロパティは、[Query Mode] (クエリーモード)ドロップダウンリストから、[Query] (クエリー)が選択されている時のみ利用可能です。 |
| [Client Id] (クライアントID) | Salesforce Webサイトへのアクセスに同じアカウントとパスワードを使うユーザーを区別するには、実際のユーザーのIDを入力します。 |
| [Timeout] (タイムアウト) | Salesforceでクエリータイムアウトの予定数をミリ秒で入力します。 |
| [Use Proxy] (プロキシを使用) | SOCKSプロキシサーバーを使う場合は、このチェックボックスをオンにして、表示された[Host] (ホスト)、[Port] (ポート)、[User Id] (ユーザーID)、[Password] (パスワード)フィールドで、SOCKSプロキシサーバーの接続パラメーターを指定します。<br><br>情報メモ注: 許可されているタイプのプロキシ(HTTPプロキシ、HTTPSプロキシ、SOCKSプロキシを含む)を使用するには、tSetProxyコンポーネントを使用します。 |
| [Batch Size] (バッチサイズ) | 処理された各バッチの登録数を入力します。<br><br>このプロパティは、[Query Mode] (クエリーモード)ドロップダウンリストから、[Query] (クエリー)が選択されている時のみ利用可能です。 |
| [Normalize Delimiter] (正規化の区切り文字) | さまざまな階層型Salesforceオブジェクトに設定されたクエリーによって収集されるデータを正規化するために使われる文字、文字列、または正規表現を入力します。<br><br>このプロパティは、[Query Mode] (クエリーモード)ドロップダウンリストから、[Query] (クエリー)が選択されている時のみ利用可能です。 |
| [Column Name Delimiter] (カラム名の区切り文字) | さまざまなSalesforceオブジェクト間の階層関係でクエリーを使う場合、親オブジェクトの名前と子オブジェクトの名前を区切るために使われる文字、文字列、または正規表現を入力します。<br><br>結果カラム名の競合が起きないよう、カラム名の区切り記号を慎重に選択します。たとえば、*Case*という名前の親Salesforceオブジェクトに*Region\_c*と*Case\_Region\_c*という2つのカラムがあり、カラム名の区切り文字として*\_*が使用されている場合、クエリーによる*Case\_Region\_c*カラムからのデータ取得が失敗します。これは、*Case\_Region\_c*がこの場合の*Region\_c*カラムを識別するためです。<br><br>このプロパティは、[Query Mode] (クエリーモード)ドロップダウンリストから、[Query] (クエリー)が選択されている時のみ利用可能です。 |
| [Safety Switch] (安全スイッチ) | クエリーするモジュールのカラムの長さが100,000文字を超える場合は、このチェックボックスをオフにします。デフォルトでは、このチェックボックスは過剰なメモリ使用を防ぐためにオンになっています。<br><br>これらのプロパティは、[Query Mode] (クエリーモード)ドロップダウンリストで[Bulk] (バルク)またはBulkV2が選択されている場合に利用できます。 |
| [All return null if value is empty] (値が空の場合はすべてNullを返す) | 空の値にNullを返す場合は、このオプションを選択します。<br><br>これらのプロパティは、[Query Mode] (クエリーモード)ドロップダウンリストで[Bulk] (バルク)またはBulkV2が選択されている場合に利用できます。 |
| [Complete Job timeout] (ジョブタイムアウトを完了) | バルククエリージョブを完了する制限時間を決めるタイムアウト値(秒単位)。デフォルトでは、値は0に設定されています。これは、ジョブが完了するまでの時間制限がないことを意味します。<br><br>Salesforceには、バルククエリーに対して独自の制限があります。バッチの処理にSalesforceのタイムアウト制限よりも長い時間がかかる場合、バッチはキューに入れられて後で処理されるため、ジョブの実行に時間がかかりすぎる可能性があります。この場合、完了ジョブのタイムアウト値を定義して、ジョブを事前に終了させることができます。Salesforce自体の制限の詳細は、[Bulk API Limits - Batch processing time](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_concepts_limits.htm)をご覧ください。<br><br>これらのプロパティは、[Query Mode] (クエリーモード)ドロップダウンリストで[Bulk] (バルク)またはBulkV2が選択されている場合に利用できます。 |
| [Split query results into small sets] (クエリー結果を小さなセットに分割) | クエリー結果をデータセットに分割する場合は、このオプションを選択します。データセットが保持できる最大レコード数は、[Maximum number of records per set] (セットあたりの最大レコード数)フィールドで設定します。<br><br>このオプションは、[Basic settings] (基本設定)ビューで[Query Mode] (クエリーモード)ドロップダウンリストからBulkV2を選択した場合に利用できます。 |
| [Enable PK Chunking] (PK Chunkingを有効化) | このチェックボックスをオンにすると、大量のレコードを抽出する時、またはクエリーが一貫してタイムアウトする時に、PK (プライマリキー、つまりオブジェクトのレコードID)チャンクが有効になります。<br><br><ul> <li> <p>表示された<span>[Chunk size] (チャンクサイズ)</span>フィールドで、各チャンクのID境界内のレコード数を指定します。</p> </li> <li> <p>親オブジェクトのレコードIDを使用してチャンク境界を決定するには、<span>[Specify the parent object] (親オブジェクトを選択)</span>チェックボックスをオンにします。<span>[Parent object] (親オブジェクト)</span>フィールドに親オブジェクトの名前を入力します。</p> <p>オブジェクトがサポートされている場合は、PK Chunkingを使って、オブジェクトの共有テーブルをクエリーできます。親オブジェクトを指定すると、チャンクの境界が定義され、クエリーがより効率的になります。 </p> </li> <li> <p>表示される<span>[Salesforce API call delay] (Salesforce APIコールの遅延)</span>フィールドで、各バッチの処理中に2つのSalesforce APIコールを行う間の時間(秒)を指定します。</p> </li> </ul><br><br>詳細については、[Use PK Chunking to Extract Large Data Sets from Salesforce](https://developer.salesforce.com/blogs/engineering/2015/03/use-pk-chunking-extract-large-data-sets-salesforce.html)をご覧ください。<br><br>このオプションは、[Query Mode] (クエリーモード)ドロップダウンリストから、[Bulk] (バルク)が選択されている時のみ利用可能です。 |
| [Use UTC time for datetime] (datetimeにUTC時間を使用) | datetime型のデータにUTC時間を使用する場合は、このオプションを選択します。このオプションが選択されていない場合はローカルタイムが使用されます。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |

## グローバル変数

| 変数 | 説明 |
| --- | --- |
| NB\_LINE | 処理された行数。これはAfter変数で、整数を返します。 |
| ERROR\_MESSAGE | エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、通常、ジョブまたはサブジョブの開始コンポーネントとして使い、常に出力リンクが必要です。 |

**関連概念**

* [外部IDに基づいてSalesforceデータをアップサート](https://help.qlik.com/talend/ja-JP/components/8.0/salesforce/tsalesforceinput-tsalesforceconnection-tlogrow-upserting-salesforce-data-based-on-external-ids-standard-component-the-job "Talendコンポーネントを使い、Accountオブジェクトの外部IDとのマッピング関係に基づいてSalesforce連絡先オブジェクトデータを挿入および更新する例を次に示します。")