Bulk API
- 大規模データセット操作用に最適化されている
- Bulk API の非同期フレームワークは、千から百万単位のレコードのデータを簡単で効率的に処理できるように設計されている
- SOAP および REST API は同期要求を使用しており、一度に少数のレコードを更新するリアルタイムのクライアントアプリケーション用に最適化されている
- 数十万のレコードがデータセットに含まれている場合は向かない
- データローダはBulk APIを使用している
- Bulk API は REST ベース
Workbenchでの操作
- まずジョブを作成する.
/jobs/ingest
リソースを使用してPOSTする.- Request Bodyに下記を記載
"operation" : "insert", "object" : "Account", "contentType" : "CSV", "lineEnding" : "CRLF" }
下記のResponseを確認しておく
- CSVを使用する場合はRequest Headersを下記に変更
Content-Type: text/csv; charset=UTF-8 Accept: application/json
- ジョブを終了する
/services/data/v XX.0/jobs/ingest/ jobID
に対してPATCHを選択state
を変更する
{ "state" : "UploadComplete" }
- Request Headersを再度jsonに変更
Content-Type: application/json; charset=UTF-8 Accept: application/json
終了となるがここでSalesforceはジョブの処理を開始する
ジョブの監視
/services/data/v XX.0/jobs/ingest/ jobID
に対してGETするstate: JobComplete
になっていれば終了
ジョブ結果の取得
- 成功の結果
/services/data/v XX.0/jobs/ingest/ jobID/successfulResults
に変更
- 失敗の結果
/services/data/v XX.0/jobs/ingest/ jobID/failedResults
- 成功の結果