BULK API
特徴
-
大量データをインポート、エキスポートする為に使用されるAPI
-
目安として50,000件以上のインポート、エキスポートで使用を検討する
-
RESTに準拠しており、Salesforce内のサーバで非同期処理で行われる
-
デフォルトでは並列処理だが、オプションで逐次処理に変更可能
-
並列処理は処理時間の短縮が出来るが、親レコードをロックする関係上、レコードロックが派生する可能性がある。その場合の対処方法は2つ。
-
逐次処理に変更して実行する。並列ではないないので完了までは時間がかかる。
-
**親レコードを同じバッチにまとめる。**複数のバッチ処理で跨がないようにする。
参考情報 -
送信するデータはCSVまたはXMLが可能
-
BULK API 1.0またはBULK API 2.0が提供されている
-
BULK API 1.0はJob内のBatchの作成制御をクライアント側で制御する
-
BULK API 2.0はBatchの作成制御はサーバ側で制御してくれる
-
BULK APIには、10分以内に完了できない場合、10回までの再実行処理が備わっている
-
ジョブの実行状況及び実行結果はUIまたはBULK API経由でチェック可能
-
BULK API経由はこちら
-
実行結果がCompletedでも一部レコードでエラーが発生している可能性がある。
必ずバッチ結果を取得してエラーが発生しているレコードを特定して再度実行する事。
一部レコードにエラーがあっても、正常に実行されたレコードはロールバックされない。
セキュリティ
- REST APIに準拠する
BULK APIを選択するシナリオ
- 大量データをエキスポート、インポートしたい場合
- 特に初回の一括データ移行などの際に利用を検討する