tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:ワークベンチでBulk APIを動かしてみるときの手順

詳細はこちら


まずはREST Explorerから。

  • POSTを選択
  • エンドポイントを指定『/services/async/37.0/job』
  • RequestBodyは次のとおり
{
  "operation" : "insert",
  "object" : "Account",
  "contentType" : "JSON"
}


更に今回はSession IDが必要になります。SoapUIとSoapAPIで取得したりできます。あとはApexを使う方法とか。

System.debug(UserInfo.getSessionId());


SessionIDはRequest Headersに指定します。

Content-Type: application/json; charset=UTF-8
Accept: application/json
X-SFDC-Session:<Your SessionID>


正しく実行できればいろいろな情報を取得できます。
f:id:tyoshikawa1106:20160702034049p:plain


id: となっているのがJOBIDです。これをコピーして利用します。


次のように変更して実行するとBulk APIが実行されます。

/services/async/37.0/job/<JOBID>/batch


Request BodyはJSON文字列です。(登録内容)
f:id:tyoshikawa1106:20160702034517p:plain


処理の進捗は次のようにしてGetすると確認できます。

/services/async/XX.0/job/jobID

f:id:tyoshikawa1106:20160702034646p:plain


『/batch』とつけるとbatchInfoを取得できます。
f:id:tyoshikawa1106:20160702034840p:plain


jobIDとは別にIDを取得できます。これをつかって次のようなAPIを実行できます。

/services/async/36.0/job/<jobId>/batch/<batchId>/result

f:id:tyoshikawa1106:20160702035018p:plain


本来は最後にジョブをクローズする必要がありますが、ひとまずこんな感じです。