ステップ 3: ジョブへのバッチの追加
ジョブを作成したら、次に取引先責任者レコードのバッチを作成します。データをバッチにまとめ、複数の HTTP POST 要求に分割して送信します。各要求の URI は、ジョブの作成で使用したものとよく似ていますが、今回は URI の末尾に jobId/batch を追加します。
バイナリ添付ファイルを含めない場合は、データの形式を CSV、XML、または JSON に設定します。バイナリ添付ファイルについては、「バイナリ添付ファイルの読み込み」を参照してください。バッチサイズの制限については、「バッチサイズ」を参照してください。
この例では、推奨される形式である CSV を使用します。データセットは、バッチサイズの制限内に収まるように適宜分割してください。ここでは、説明をわかりやすくするために少数のレコードのみを使用します。
ジョブにバッチを追加する手順は、次のとおりです。
-
data.csv という名前の CSV ファイルを作成し、次のような 2 件のレコードを含めます。
1FirstName,LastName,Department,Birthdate,Description 2Tom,Jones,Marketing,1940-06-07Z,"Self-described as ""the top"" branding guru on the West Coast" 3Ian,Dury,R&D,,"World-renowned expert in fuzzy logic design. 4Influential in technology purchases."最後の行の Description 項目の値は 2 行にわたっているため、二重引用符で囲みます。
- コマンドラインウィンドウを使用して、次の cURL コマンドを実行します。
curl https://instance.salesforce.com/services/async/43.0/job/jobId/batch -H "X-SFDC-Session: sessionId" -H "Content-Type: text/csv; charset=UTF-8" --data-binary @data.csv
instance は、ログインの応答でメモした <serverUrl> 要素の一部分です。sessionId は同様にメモした <sessionId> 要素です。jobId は、ジョブ作成時に返されたジョブ ID です。
Salesforce により、次のようなデータを含む XML 応答が返されます。
1<?xml version="1.0" encoding="UTF-8"?> 2<batchInfo 3 xmlns="http://www.force.com/2009/06/asyncapi/dataload"> 4 <id>751x00000000079AAA</id> 5 <jobId>750x0000000005LAAQ</jobId> 6 <state>Queued</state> 7 <createdDate>2009-09-01T17:44:45.000Z</createdDate> 8 <systemModstamp>2009-09-01T17:44:45.000Z</systemModstamp> 9 <numberRecordsProcessed>0</numberRecordsProcessed> 10 <numberRecordsFailed>0</numberRecordsFailed> 11 <totalProcessingTime>0</totalProcessingTime> 12 <apiActiveProcessingTime>0</apiActiveProcessingTime> 13 <apexProcessingTime>0</apexProcessingTime> 14</batchInfo>Salesforce では CSV のコンテンツは解析しませんが、代わりに後続の処理でバッチを検証します。この応答は単にバッチが受信されたことを知らせるためのものです。
- <id> 要素内で返されたバッチ ID の値をメモしておいてください。このバッチ ID は、後でバッチの状況を確認するときに使用します。