Salesforce Bulkアダプタ

HOME技術コラムSalesforceアダプタの紹介と連携によるメリットSalesforce Bulkアダプタ

Salesforce Bulkアダプタで利用できる機能をご紹介します。

Bulk APIとは

大規模データの操作に最適化されているAPIです。
サーバサイドのバックグラウンドで処理される複数のバッチを送信することにより、多数のレコードを『非同期』で操作します。

適した用途

大量データを処理、更新する場合には、Bulk APIを使用することにより
通信回数や時間を削減することが可能です。
また主な使い方として、データローダで使用することができます。
バックグラウンドで処理されるため、ユーザは処理終了を待たずに他の作業を行うことができます。

ステップ一括

Bulkデータ書き込み(INSERT)処理

入力データを元に、Bulk APIを使用したINSERT処理を行います。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。

Bulk データ書き込み(INSERT)処理

■設定方法(必須設定項目)

名前 スクリプトキャンパス上での名前を入力します。
入力データ スクリプトキャンバス上にあるコンポーネントを選択します。
接続先 グローバルリソースを選択します。
・[追加]:新規にグローバルリソースを追加します。
・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル
リソースの設定を編集することができます。
テーブル名 Salesforceのテーブル名を選択します。
スキーマ定義 データ書き込みを行うCSVデータのヘッダ行とする項目を設定します。
スキーマ定義/ラベル [テーブル名]で指定したテーブルの列のラベル名を表示します。
スキーマ定義/API [テーブル名]で指定したテーブルの列のAPI名を表示します。
スキーマ定義/型 [テーブル名]で指定したテーブルの列のデータ型を表示します。
リレーションシップ項目定義/元項目API名 [テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。
リレーションシップ項目定義/リレーションシップ名 [テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。

■イメージ図

イメージ図


Bulkデータ書き込み(UPDATE)処理

入力データを元に、Bulk APIを使用したUPDATE処理を行います。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。
UPDATE処理では、データ更新時のキー項目にSalesforceのIDを指定します。

Bulkデータ書き込み(UPDATE)処理

■設定方法(必須設定項目)

名前 スクリプトキャンパス上での名前を入力します。
入力データ スクリプトキャンバス上にあるコンポーネントを選択します。
接続先 グローバルリソースを選択します。
・[追加]:新規にグローバルリソースを追加します。
・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル
リソースの設定を編集することができます。
テーブル名 Salesforceのテーブル名を選択します。
スキーマ定義 データ書き込みを行うCSVデータのヘッダ行とする項目を設定します。
スキーマ定義/ラベル [テーブル名]で指定したテーブルの列のラベル名を表示します。
スキーマ定義/API [テーブル名]で指定したテーブルの列のAPI名を表示します。
スキーマ定義/型 [テーブル名]で指定したテーブルの列のデータ型を表示します。
リレーションシップ項目定義/元項目API名 [テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。
リレーションシップ項目定義/リレーションシップ名 [テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。

■イメージ図

イメージ図


Bulkデータ書き込み(DELETE)処理

入力データを元に、Bulk APIを使用したDELETE処理を行います。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。
DELETE処理では、データ削除時のキー項目にSalesforceのIDを指定します。

Bulkデータ書き込み(DELETE)処理

■設定方法(必須設定項目)

名前 スクリプトキャンパス上での名前を入力します。
入力データ スクリプトキャンバス上にあるコンポーネントを選択します。
入力スキーマ SalesforceのIDを設定します。
接続先 グローバルリソースを選択します。
・[追加]:新規にグローバルリソースを追加します。
・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル
リソースの設定を編集することができます。
テーブル名 Salesforceのテーブル名を選択します。
スキーマ定義 データ書き込みを行うCSVデータのヘッダ行とする項目として「ID」が選択されています。編集を行うことはできません。
スキーマ定義/ラベル 入力スキーマ項目のラベル名を表示します。
スキーマ定義/API 入力スキーマ項目のAPI名を表示します。
スキーマ定義/型 入力スキーマ項目のデータ型を表示します。

■イメージ図

イメージ図


Bulkデータ書き込み(UPSERT)処理

入力データを元に、Bulk APIを使用したUPSERT処理を行います。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。
UPSERT処理では、Salesforceの外部IDに該当するデータの存在を確認し、データが存在する場合はデータの更新を、データが存在しない場合はデータの追加を行います。
また、ID指定によるデータの更新も行うことができます。

Bulkデータ書き込み(UPSERT)処理

■設定方法(必須設定項目)

名前 スクリプトキャンパス上での名前を入力します。
入力データ スクリプトキャンバス上にあるコンポーネントを選択します。
接続先 グローバルリソースを選択します。
・[追加]:新規にグローバルリソースを追加します。
・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル
リソースの設定を編集することができます。
テーブル名 Salesforceのテーブル名を選択します。
外部ID項目 UPSERT処理のキーとする外部ID項目を選択します。
スキーマ定義 データ書き込みを行うCSVデータのヘッダ行とする項目を設定します。
スキーマ定義/ラベル [テーブル名]で指定したテーブルの列のラベル名を表示します。
スキーマ定義/API [テーブル名]で指定したテーブルの列のAPI名を表示します。
スキーマ定義/型 [テーブル名]で指定したテーブルの列のデータ型を表示します。
リレーションシップ項目定義/元項目API名 [テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。
リレーションシップ項目定義/リレーションシップ名 [テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。

■イメージ図

イメージ図


Bulkデータ読み取り(QUERY)処理

Bulk APIを使用したQUERY処理を行い、CSVファイルを作成します。
ジョブ作成、バッチ作成、バッチ結果の取得、ジョブのクローズまで一括で行うことができます。

Bulkデータ読み取り(QUERY)処理

■設定方法(必須設定項目)

名前 スクリプトキャンパス上での名前を入力します。
接続先 グローバルリソースを選択します。
・[追加]:新規にグローバルリソースを追加します。
・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル
リソースの設定を編集することができます。
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を入力します。

■イメージ図

イメージ図


その他

ログイン(セッションIDによる)処理

外部でSalesforceとのセッションが確立されている場合、セッション情報を受け取ることでセッションを引き継ぎます。
セッションを引き継ぐと、そのセッションの権限でアダプタの各オペレーションを実行することができます。

ログイン(セッションIDによる)処理

■設定方法(必須設定項目)

名前 スクリプトキャンパス上での名前を入力します。
接続先 グローバルリソースを選択します。
・[追加]:新規にグローバルリソースを追加します。
・[一覧の編集]:「リソース一覧の編集」画面にて、グローバル
リソースの設定を編集することができます。
サーバURL Salesforceログイン時に返されるサーバURLを設定します。
セッションID Salesforceログイン時に返されるセッションIDを設定します。

■イメージ図

イメージ図


お問い合わせ

  • 資料のご請求
  • 製品Q&A
  • 詳細説明希望
  • 製品デモ希望
  • 製品価格
  • その他

何でもお気軽にご質問ください

top