この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

クエリジョブの結果の取得

クエリジョブの結果を取得します。ジョブの状態は、JobComplete でなければなりません。

構文

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」になります。

次の例では、ID が 750R0000000zxr8IAA のジョブの結果が取得されます。また、locator および maxRecords クエリパラメータの使用方法も示されます。(この例では、両方を使用していますが、それぞれは独立しています。一緒に使用する必要はありません。)
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

Accept ヘッダーは、ジョブの作成時に指定された内容と一致している必要があります。現在サポートされているのは、text/csv のみです。

メモ

レスポンスボディは次のようになります。

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」ではありません。その値である MTAwMDAlocator クエリパラメータとして使用して、次の結果セットを取得します。

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...

ロケータ値が変更されています。その新しい値である MjAwMDAwlocator クエリパラメータとして使用して、次の結果セットを取得します。

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...

ルールとガイドライン

この URI を使用するには、次のルールおよびガイドラインに従います。

  1. /services/data/vXX.X/jobs/query/queryJobId/results を使用して、ジョブの最初の結果セットを取得します。
  2. これ以上結果がない場合、Sforce-Locator ヘッダーの値は文字列の「null」になります。それ以外の場合、locator クエリパラメータをその値に設定すると、次の結果セットが取得されます。

    locator には、Sforce-Locator ヘッダーの値のみを使用してください。値を推測することは試みないでください。このパラメータの評価方法は、変更されることがあります。

    メモ

  3. この手順を繰り返していくと、Sforce-Locator ヘッダーの値が文字列の「null」になります。そのセットが最後の結果セットとなります。