' P '

whatever I will forget

Bulk API 2.0 の使用

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を確認しておく
    f:id:mankozooyork:20220317140711p:plain

  • contentUrlURIに指定し、PUTを選択して、データ(CSVなど)をRequest Bodyに記述

  • 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