# tSalesforceBulkExec

特定のファイルのデータをSalesforceオブジェクトに一括ロードします。

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

tSalesforceOutputBulkコンポーネントとtSalesforceBulkExecコンポーネントは、2ステップのプロセスで一緒に使われます。最初のステップでは、出力ファイルが生成されます。2番目のステップでは、Salesforceデータベースをフィードするためにこのファイルを使います。これら2つのステップは、tSalesforceOutputBulkExecコンポーネント内で融合しています。2つの別々のステップを使う利点は、Salesforceにロードする前にデータを変換できることです。

## tSalesforceBulkExecの標準プロパティ

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

標準のtSalesforceBulkExecコンポーネントは、ビジネスファミリーと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>ジョブで接続している先行コンポーネントからスキーマを取得するためには、[Sync columns] (カラムを同期)をクリックします。<br><br>このコンポーネントは、ダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)をご覧ください。<br><br>ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。 |
| [Output Action] (出力アクション) | ドロップダウンリストから、実行する次のいずれかの操作を選択します。<br><br><ul> <li> <p> <span>Insert] (挿入)</span>: 1つ以上の新しいレコードをSalesforceに挿入します。</p> </li> <li> <p> <span>[UPDATE] (アップデート)</span>: Salesforceの1つ以上の既存のレコードをアップデートします。</p> </li> <li> <p> <span>[UPSERT] (アップサート)</span>: 新しいレコードを作成するか、既存のレコードをアップデートします。表示された<span>[Upsert Key Column] (アップサートキーカラム)</span>フィールドにアップサート操作のキーカラムを指定します。<span>[Output upsert column] (アップサートカラムの出力)</span>をオンにすると、<span>UpsertColumnValue</span>という名前のカラムが出力スキーマに追加されます。このカラムにはアップサートキーの値が保持されるため、アップサートキーの監視に使えます。アップサートキーが変数の場合は、<span>[Output upsert column] (アップサートカラムの出力)</span>を選択できます。</p> </li> <li> <p> <span>[DELETE] (削除)</span>: Salesforceで1つ以上のレコードを削除します。</p> </li> </ul> |
| [Bulk File Path] (バルクファイルパス) | 処理するデータを保管するファイルへのパスを指定します。 |
| [Content Type] (コンテンツタイプ) | データをロードするファイルの形式を選択します。現在は、JSONとCSVという2つのファイル形式がサポートされています。Bulk API 2.0ではJSON形式がサポートされていないため、JSONファイルからデータをロードしたい場合は、[Advanced settings] (詳細設定)ビューにある[Bulk API V2]オプションを選択しません。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| 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接続タイプが選択されている時のみ利用可能です。 |
| 圧縮が必要 | SOAPメッセージ圧縮を有効にする場合は、このチェックボックスをオンにします。これにより、パフォーマンスが向上する場合があります。 |
| [Trace HTTP message] (HTTPメッセージをトレース) | コンソールでのHTTPインタラクションを出力する場合は、このチェックボックスをオンにします。 |
| [Client Id] (クライアントID) | Salesforce Webサイトへのアクセスに同じアカウントとパスワードを使うユーザーを区別するには、実際のユーザーのIDを入力します。 |
| [Timeout] (タイムアウト) | Salesforceでクエリータイムアウトの予定数をミリ秒で入力します。 |
| [Use Proxy] (プロキシを使用) | SOCKSプロキシサーバーを使う場合は、このチェックボックスをオンにして、表示された[Host] (ホスト)、[Port] (ポート)、[User Id] (ユーザーID)、[Password] (パスワード)フィールドで、SOCKSプロキシサーバーの接続パラメーターを指定します。<br><br>情報メモ注: 許可されているタイプのプロキシ(HTTPプロキシ、HTTPSプロキシ、SOCKSプロキシを含む)を使用するには、tSetProxyコンポーネントを使用します。 |
| [Bulk API V2] (バルクAPI V2) | このチェックボックスをオンにし、バルクAPI V2ジョブを作成してから、CSVデータ用に、[Column Delimiter] (カラム区切り)ドロップダウンリストから、フィールド区切りのタイプを、[Line Ending] (行末)ドロップダウンリストから、行末処理の方法をそれぞれ選択します。<br><br>Bulk API V1と比べると、Bulk API v2ではデータの処理方法が簡素化されています。<br><br>このプロパティは、OAuth接続タイプが選択されている時のみ利用可能です。 |
| [Concurrency Mode] (同時モード) | ジョブの同時モードを選択します。<br><br><ul> <li> <p> <span>[Parallel] (並列)</span>: バッチを並列モードで処理します。</p> </li> <li> <p> <span>[Serial] (シリアル)</span>: バッチをシリアルモードで処理します。</p> </li> </ul> |
| [Rows to Commit] (コミットする行数) | 処理するデータバッチごとの行数を指定します。 |
| [Bytes to Commit] (コミットするバイト数) | 処理するデータバッチごとのバイト数を指定します。 |
| [Wait Time Check Batch State] (バッチ状態確認の待機時間) | すべてのバッチが最終的に処理されるまで、ジョブ内のバッチが処理されたかどうかを確認するための待機時間(ミリ秒)を指定します。 |
| [Safety Switch] (安全スイッチ) | クエリーするモジュールのカラムの長さが100,000文字を超える場合は、このチェックボックスをオフにします。デフォルトでは、このチェックボックスは過剰なメモリ使用を防ぐためにオンになっています。<br><br>このプロパティは、[Query Mode] (クエリーモード)ドロップダウンリストから、[Bulk] (バルク)またはBulkV2が選択されている場合に利用できます。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |

## グローバル変数

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

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、一般にtSalesforceOutputBulkコンポーネントと共に使います。一緒に使うと、Salesforceで情報をフィードまたは変更する時にパフォーマンスが向上します。 |