クエリジョブの結果の取得
構文
- URI
- /services/data/vXX.X/jobs/query/queryJobId/results
- or
-
1/services/data/vXX.X/jobs/query/queryJobId/results 2 ?locator=locator 3 &maxRecords=maxRecords - 適用開始バージョン
-
このリソースは API バージョン 47.0 以降で使用できます。
- 形式
- CSV
- HTTP メソッド
- GET
- 認証
- Authorization: Bearer token
- 要求パラメータ
-
パラメータ 説明 必須か省略可能 queryJobId クエリジョブの ID。 必須 locator 特定の結果セットを取得します。 このパラメータを省略した場合は、表示できるだけの数の行が結果の先頭から返されます。表示できる行数より結果が多い場合は、応答の Sforce-Locator ヘッダーに次の結果セットを取得するためのロケータ値が含まれます。
「例」および「ルールとガイドライン」を参照してください。
省略可能 maxRecords セットあたりの最大レコード取得数。要求は、依然としてサイズの制限を受けます。 操作するクエリセットが非常に大きい場合は、Salesforce からすべてのデータを受信する前にタイムアウトが発生する場合があります。タイムアウトを回避するには、maxRecords パラメータでクライアントが想定する最大受信レコード数を指定します。これにより、結果がより小さいセットに分割されます。
省略可能 - レスポンスボディ
- 要求が成功した場合、状況コードは 200 (OK) となり、リクエストボディには、ジョブのクエリ結果が表示されます。次に例を示します。
1"Id","Name" 2"005R0000000UyrWIAS","Jane Dunn" 3"005R0000000GiwjIAC","George Wright" 4"005R0000000GiwoIAC","Pat Wilson" 5... - 要求が失敗した場合の応答
- 要求が失敗した場合、状況コードは 204 (No Content) です。
- 応答ヘッダー
-
ヘッダー 説明 Sforce-NumberOfRecords このセット内のレコード数。 Sforce-Locator 次の結果セットを取得するためのロケータ (存在する場合)。
API バージョン 48.0 以前の場合、この値は数値です。
API バージョン 49.0 以降の場合、この値は擬似ランダムな文字列です (MTAwMDA など)。この文字列の長さは、結果セットの数によって変化します。
「例」および「ルールとガイドライン」を参照してください。
これ以上結果がない場合、この値は文字列の「null」になります。
例
1curl --include --request GET \
2--header "Authorization: Bearer token" \
3--header "Accept: text/csv" \
4https://instance.salesforce.com/services/data/vXX.X/jobs/query/750R0000000zxr8IAA/results最初の要求では、locator を使用しません。使用する値がまだわからないためです。
1curl --include --request GET \
2--header "Authorization: Bearer token" \
3--header "Accept: text/csv" \
4https://instance.salesforce.com/services/data/vXX.X/jobs/query/750R0000000zxr8IAA/results
5?maxRecords=50000レスポンスボディは次のようになります。
1HTTP/1.1 200 OK
2...
3Sforce-Locator: MTAwMDA
4Sforce-NumberOfRecords: 50000
5...
6
7"Id","Name"
8"005R0000000UyrWIAS","Jane Dunn"
9"005R0000000GiwjIAC","George Wright"
10"005R0000000GiwoIAC","Pat Wilson"
11...結果数が、1 回の応答で返すことができる数より多いため、Sforce-Locator ヘッダーの値は「null」ではありません。その値である MTAwMDA を locator クエリパラメータとして使用して、次の結果セットを取得します。
1curl --include --request GET \
2--header "Accept: text/csv" \
3https://instance.salesforce.com/services/data/vXX.X/jobs/query/750R0000000zxr8IAA/results
4?locator=MTAwMDA&maxRecords=50000レスポンスボディは次のようになります。
1HTTP/1.1 200 OK
2...
3Sforce-Locator: MjAwMDAw
4Sforce-NumberOfRecords: 50000
5...
6
7"Id","Name"
8"005R0000000UyrWIAv","James Wu"
9"005R0000000GiwjIxx","Samantha Jones"
10"005R0000000GiwoIAB","Doug West"
11...ロケータ値が変更されています。その新しい値である MjAwMDAw を locator クエリパラメータとして使用して、次の���果セットを取得します。
1curl --include --request GET \
2--header "Accept: text/csv" \
3https://instance.salesforce.com/services/data/vXX.X/jobs/query/750R0000000zxr8IAA/results
4?locator=MjAwMDAw&maxRecords=50000ロケータが文字列の「null」になるまで、つまり取得する結果がなくなるまで、このプロセスを繰り返します。
1HTTP/1.1 200 OK
2
3Sforce-Locator: null
4Sforce-NumberOfRecords: 6155
5...
6
7"Id","Name"
8...