すべてのクエリジョブに関する情報の取得
構文
- URI
- /services/data/vXX.X/jobs/query
-
1/services/data/vXX.X/jobs/query/ 2 ?isPkChunkingEnabled=isPkChunkingEnabled 3 &jobType=jobType 4 &concurrencyMode=concurrencyMode 5 &queryLocator=queryLocator - 適用開始バージョン
-
このリソースは API バージョン 47.0 以降で使用できます。
- 形式
- JSON
- HTTP のメソッド
- GET
- 認証
- Authorization: Bearer token
- 要求パラメーター
-
パラメーター 説明 必須か省略可能 isPkChunkingEnabled true に設定すると、PK Chunking が有効なジョブに関する情報のみが要求で返されます。これは、Bulk API ジョブにのみ適用されます (Bulk API 2.0 ジョブには適用されません)。 PK Chunking についての詳細は、「Use PK Chunking to Extract Large Data Sets from Salesforce (PK Chunking を使用した Salesforce からの大量データセットの抽出)」を参照してください。
省略可能 jobType 指定されたジョブ種別に一致するジョブに関する情報のみを取得します。可能な値は次のとおりです。 - Classic — Bulk API ジョブ。これには、クエリジョブと取り込みジョブの両方が含まれます。
- V2Query — Bulk API 2.0 クエリジョブ。
- V2Ingest — Bulk API 2.0 取り込み (アップロードおよび更新/挿入) ジョブ。
省略可能 concurrencyMode 将来使用されます。指定された同時実行モードに一致するジョブに関する情報のみを取得します。可能な値は、serial と parallel です。 省略可能 queryLocator そのロケーター値で始まるジョブに関する情報を取得します。 「例」および「ルールとガイドライン」を参照してください。
省略可能 - レスポンスボディ
- 応答には、完了フラグ、レコードの配列、およびレコードをさらに取得するために使用されるロケーター値が含まれます。次に例を示します。
1{ 2 "done" : false, 3 "records" : [ 4 { 5 "id" : "750R0000000zhfdIAA", 6 "operation" : "query", 7 "object" : "Account", 8 "createdById" : "005R0000000GiwjIAC", 9 "createdDate" : "2018-12-07T19:58:09.000+0000", 10 "systemModstamp" : "2018-12-07T19:59:14.000+0000", 11 "state" : "JobComplete", 12 "concurrencyMode" : "Parallel", 13 "contentType" : "CSV", 14 "apiVersion" : 60.0, 15 "jobType" : "V2Query", 16 "lineEnding" : "LF", 17 "columnDelimiter" : "COMMA" 18 }, 19 { 20 "id" : "750R0000000zhjzIAA", 21 "operation" : "query", 22 "object" : "Account", 23 "createdById" : "005R0000000GiwjIAC", 24 "createdDate" : "2018-12-07T20:52:28.000+0000", 25 "systemModstamp" : "2018-12-07T20:53:15.000+0000", 26 "state" : "JobComplete", 27 "concurrencyMode" : "Parallel", 28 "contentType" : "CSV", 29 "apiVersion" : 60.0, 30 "jobType" : "V2Query", 31 "lineEnding" : "LF", 32 "columnDelimiter" : "COMMA" 33 }, 34 ... 35 ], 36 "nextRecordsUrl" : "/services/data/v60.0/jobs/ingest?queryLocator=01gR0000000opRTIAY-2000" 37} - 応答パラメーター
-
パラメーター 説明 done これが最後の (または唯一の) 結果セットの場合は、true です。取得するレコードがさらにある場合は、false です。「例」および「ルールとガイドライン」を参照してください。 records レコードオブジェクトの配列。 nextRecordsUrl 次のレコードセットを取得するための URI (存在する場合)。
このメソッドでは、要求あたり最大 1,000 件の結果行が返されます。レコードが 1,000 件を超える場合は、nextRecordsUrl を使用して、次のレコードセットを取得できます。「例」および「ルールとガイドライン」を参照してください。
これ以上取得するレコードがなくなると、このパラメーターは null になります。
- レコードオブジェクト
-
パラメーター 説明 id このジョブの一意の ID。 operation クエリの種別。可能な値は次のとおりです。 - query — 削除やアーカイブされていないデータを返します。詳細は、『SOAP API 開発者ガイド』の「query()」を参照してください。
- queryAll — マージや削除が原因で削除されたレコードと、アーカイブされたタスクおよびイベントレコードに関する情報を返します。詳細は、『SOAP API 開発者ガイド』の「queryAll()」を参照してください。
object 照会されるオブジェクトの種別。 createdById ジョブを作成したユーザーの ID。 createdDate ジョブが作成された UTC 日時。 systemModstamp API がジョブ情報を最後に更新した UTC 日時。 state ジョブの現在の処理状況。可能な値は次のとおりです。- UploadComplete — ジョブを処理する準備ができ、Salesforce がジョブをキューに追加しました。
- InProgress — Salesforce がジョブを処理しています。
- Aborted — ジョブが中止されました。「クエリジョブの中止」を参照してください。
- JobComplete — Salesforce がジョブの処理を完了しました。
-
Failed — ジョブが失敗しました。
concurrencyMode 将来の使用のために予約されています。要求がどのように処理されるか。現在、サポートされているのは並列モードのみです。(他のモードが追加された場合、API によってモードが自動的に選択されます。ユーザーがモードを設定することはできません)。 contentType 結果で使用される形式。現在サポートされている値は、CSV のみです (カンマ区切り変数)。デフォルトは CSV です。 実際の区切り文字は、カンマ以外の文字の場合があります。columnDelimiter パラメーターでは、使用する文字を指定します。 apiVersion ジョブが作成された API バージョン。 lineEnding CSV ジョブデータに使用される行末で、データ行の終わりを示します。デフォルトは LF です。可能な値は次のとおりです。 - LF — 改行文字
- CRLF — 行頭復帰および改行文字
columnDelimiter CSV ジョブデータに使用される列区切り文字。デフォルト値は COMMA です。可能な値は次のとおりです。 - BACKQUOTE — バッククォート文字 (`)
- CARET — キャレット文字 (^)
- COMMA — カンマ文字 (,)
- PIPE — パイプ文字 (|)
- SEMICOLON — セミコロン文字 (;)
- TAB — タブ文字
例
この例では、nextRecordsUrl クエリパラメーターの使用方法を示します。
最初の要求では、nextRecordsUrl を使用しません。使用する値がまだわからないためです。
1curl --request GET \
2--header "Authorization: Bearer token"
3https://instance.salesforce.com/services/data/vXX.X/jobs/queryレスポンスボディは次のようになります。
1{
2 "done": false,
3 "nextRecordsUrl": "/services/data/vXX.X/jobs/ingest?queryLocator=01gRM000000NS1vYAG-1000",
4 "records": [
5 {
6 ...
7 }
8 ]
9}レコード数が、1 回の応答で返すことができる数より多いため、応答内の done の値は true ではありません。nextRecordsUrl の値である /services/data/vXX.X/jobs/ingest?queryLocator=01gRM000000NS1vYAG-1000 は、次のレコードセットを取得するための URI として使用します。
1curl --request GET \
2--header "Authorization: Bearer token"
3https://instance.salesforce.com/services/data/vXX.X/jobs/query?queryLocator=01gRM000000NS1vYAG-1000done が true になるまで、つまり取得する結果がなくなるまで、このプロセスを繰り返します。