HOME技術コラムSalesforceアダプタの紹介と連携によるメリットSalesforce Bulkアダプタ
Salesforce Bulkアダプタで利用できる機能をご紹介します。
大規模データの操作に最適化されているAPIです。
サーバサイドのバックグラウンドで処理される複数のバッチを送信することにより、多数のレコードを『非同期』で操作します。
大量データを処理、更新する場合には、Bulk APIを使用することにより
通信回数や時間を削減することが可能です。
また主な使い方として、データローダで使用することができます。
バックグラウンドで処理されるため、ユーザは処理終了を待たずに他の作業を行うことができます。
入力データを元に、Bulk APIを使用したINSERT処理を行います。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
入力データ | スクリプトキャンバス上にあるコンポーネントを選択します。 |
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
テーブル名 | Salesforceのテーブル名を選択します。 |
スキーマ定義 | データ書き込みを行うCSVデータのヘッダ行とする項目を設定します。 |
スキーマ定義/ラベル | [テーブル名]で指定したテーブルの列のラベル名を表示します。 |
スキーマ定義/API | [テーブル名]で指定したテーブルの列のAPI名を表示します。 |
スキーマ定義/型 | [テーブル名]で指定したテーブルの列のデータ型を表示します。 |
リレーションシップ項目定義/元項目API名 | [テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。 |
リレーションシップ項目定義/リレーションシップ名 | [テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。 |
■イメージ図
入力データを元に、Bulk APIを使用したUPDATE処理を行います。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。
UPDATE処理では、データ更新時のキー項目にSalesforceのIDを指定します。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
入力データ | スクリプトキャンバス上にあるコンポーネントを選択します。 |
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
テーブル名 | Salesforceのテーブル名を選択します。 |
スキーマ定義 | データ書き込みを行うCSVデータのヘッダ行とする項目を設定します。 |
スキーマ定義/ラベル | [テーブル名]で指定したテーブルの列のラベル名を表示します。 |
スキーマ定義/API | [テーブル名]で指定したテーブルの列のAPI名を表示します。 |
スキーマ定義/型 | [テーブル名]で指定したテーブルの列のデータ型を表示します。 |
リレーションシップ項目定義/元項目API名 | [テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。 |
リレーションシップ項目定義/リレーションシップ名 | [テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。 |
■イメージ図
入力データを元に、Bulk APIを使用したDELETE処理を行います。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。
DELETE処理では、データ削除時のキー項目にSalesforceのIDを指定します。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
入力データ | スクリプトキャンバス上にあるコンポーネントを選択します。 |
入力スキーマ | SalesforceのIDを設定します。 |
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
テーブル名 | Salesforceのテーブル名を選択します。 |
スキーマ定義 | データ書き込みを行うCSVデータのヘッダ行とする項目として「ID」が選択されています。編集を行うことはできません。 |
スキーマ定義/ラベル | 入力スキーマ項目のラベル名を表示します。 |
スキーマ定義/API | 入力スキーマ項目のAPI名を表示します。 |
スキーマ定義/型 | 入力スキーマ項目のデータ型を表示します。 |
■イメージ図
入力データを元に、Bulk APIを使用したUPSERT処理を行います。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。
UPSERT処理では、Salesforceの外部IDに該当するデータの存在を確認し、データが存在する場合はデータの更新を、データが存在しない場合はデータの追加を行います。
また、ID指定によるデータの更新も行うことができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
入力データ | スクリプトキャンバス上にあるコンポーネントを選択します。 |
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
テーブル名 | Salesforceのテーブル名を選択します。 |
外部ID項目 | UPSERT処理のキーとする外部ID項目を選択します。 |
スキーマ定義 | データ書き込みを行うCSVデータのヘッダ行とする項目を設定します。 |
スキーマ定義/ラベル | [テーブル名]で指定したテーブルの列のラベル名を表示します。 |
スキーマ定義/API | [テーブル名]で指定したテーブルの列のAPI名を表示します。 |
スキーマ定義/型 | [テーブル名]で指定したテーブルの列のデータ型を表示します。 |
リレーションシップ項目定義/元項目API名 | [テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。 |
リレーションシップ項目定義/リレーションシップ名 | [テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。 |
■イメージ図
Bulk APIを使用したQUERY処理を行い、CSVファイルを作成します。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
SOQL | 実行するSOQL文を入力します。 |
ファイル | CSV形式のファイルパスを入力します。[参照]ボタンを押下するとファイルチューザが起動し、ファイルの選択ができます。 |
エンコード |
書き込むファイルのエンコードを選択または入力します。 入力する場合は、Java SE Runtime Environment 8でサポートされているエンコードを指定します。 |
改行コード |
改行コードを選択します。 ・[AUTO]:DataSpiderServerが稼働しているOSの改行コードに なります。 ・[CR] ・[LF] ・[CR+LF] |
■イメージ図
ジョブ作成(Creating a New Job)のリクエストを発行します。
作成したジョブの情報は、コンポーネント変数より取得することができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
テーブル名 | Salesforceのテーブル名を選択します。 |
同時実行モード |
ジョブの同時実行モードを選択します。 ・[並列]:並列モードでジョブを作成します。 ・[順次]:順次モードでジョブを作成します。 |
オペレーション種類 |
ジョブのオペレーション種類を選択します。 ・[INSERT]:挿入のジョブを作成します。 ・[UPDATE]:更新のジョブを作成します。 ・[UPSERT]:更新/挿入のジョブを作成します。 ・[DELETE]:削除のジョブを作成します。 |
物理削除(HardDelete) |
物理削除(HardDelete)を行うかどうかを選択します。 ・[チェックあり]:オペレーション種類をHardDeleteとして 実行します。 ・[チェックなし]:オペレーション種類をDeleteとして 実行します。 |
■イメージ図
ジョブ更新(Closing a
Job/Aboting a Job)のリクエストを発行し、ジョブの状況を更新します。
更新したジョブの情報は、コンポーネント変数より取得することができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
ジョブID | 更新するジョブのIDを入力します。 |
ジョブ状況 |
更新するジョブの状況を選択します。 ・[クローズ]:ジョブをクローズします。 ・[中止]:ジョブを中止します。 |
■イメージ図
入力データを元にCSV形式のデータを作成し、指定したジョブに対してバッチ作成(Adding
a Batch to a Job)のリクエストを発行します。
作成したバッチの情報は、出力スキーマから取得することができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
入力データ | スクリプトキャンバス上にあるコンポーネントを選択します。 |
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
ジョブID | バッチを作成するジョブのIDを入力します。 |
テーブル名 | 指定したジョブのオブジェクトに対応したSalesforceのテーブル名を選択します。 |
スキーマ定義 | バッチに登録するCSVデータのヘッダ行とする項目を設定します。 |
スキーマ定義/ラベル | [テーブル名]で指定したテーブルの列のラベル名を表示します。 |
スキーマ定義/API | [テーブル名]で指定したテーブルの列のAPI名を表示します。 |
スキーマ定義/型 | [テーブル名]で指定したテーブルの列のデータ型を表示します。 |
リレーションシップ項目定義/元項目API名 | [テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。 |
リレーションシップ項目定義/リレーションシップ名 | [テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。 |
■イメージ図
指定したジョブIDおよびバッチIDをキーに、バッチ結果取得(Getting
Information for All Batches in a Job/Getting Batch
Results)のリクエストを発行します。
バッチ結果は、出力スキーマから取得することができます。
また、指定したバッチの情報は、コンポーネント変数より取得することができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
ジョブID | 指定するバッチが登録されているジョブのIDを入力します。 |
バッチID | 指定するバッチのIDを入力します。 |
■イメージ図
指定したジョブのジョブ情報取得(Getting Job Details)および、バッチ情報リスト取得(Getting
Information for All Batches in a
Job)のリクエストを発行します。
指定したジョブの情報は、コンポーネント変数より取得することができます。
また、バッチ情報リストは、出力スキーマより取得することができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
ジョブID | 指定するジョブのIDを入力します。 |
■イメージ図
外部でSalesforceとのセッションが確立されている場合、セッション情報を受け取ることでセッションを引き継ぎます。
セッションを引き継ぐと、そのセッションの権限でアダプタの各オペレーションを実行することができます。
■設定方法(必須設定項目)
名前 | スクリプトキャンパス上での名前を入力します。 |
---|---|
接続先 |
グローバルリソースを選択します。 ・[追加]:新規にグローバルリソースを追加します。 ・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル リソースの設定を編集することができます。 |
サーバURL | Salesforceログイン時に返されるサーバURLを設定します。 |
セッションID | Salesforceログイン時に返されるセッションIDを設定します。 |
■イメージ図
何でもお気軽にご質問ください