Bulk API 2.0 クエリについて
可用性
Bulk API 2.0 のクエリジョブは、API バージョン 47.0 以降で使用できます。
サポートされる URI およびメソッド
次の表は、Bulk API 2.0 のクエリでサポートされる URI およびメソッドを示しています。
| URI | HTTP メソッド | 説明 |
|---|---|---|
| /services/data/vXX.X/jobs/query | POST |
クエリジョブを作成します。 |
| /services/data/vXX.X/jobs/query | GET |
組織内のすべてのクエリジョブに関する情報を取得します。 |
| /services/data/vXX.X/jobs/query/queryJobId | GET |
1 つのクエリジョブに関する情報を取得します。 |
| /services/data/vXX.X/jobs/query/queryJobId/results | GET |
クエリジョブの結果を取得します。 |
| /services/data/vXX.X/jobs/query/queryJobId | PATCH |
クエリジョブを中止します。 |
| /services/data/vXX.X/jobs/query/queryJobId | DELETE |
クエリジョブを削除します。 |
クエリジョブのチャンク処理
Bulk API 2.0 クエリジョブでは、SOQL クエリを非同期で処理できます。Bulk API 2.0 は、クエリ対象のオブジェクトがチャンクをサポートしている場合、大きなクエリジョブをチャンクするように最適化されます。この最適化には、カスタムオブジェクトと、標準オブジェクトをサポートする共有テーブルおよび履歴テーブルが含まれます。バッチを手動で設定する代わりに Bulk API 2.0 クエリジョブは、クエリジョブを小さなチャンクに分割するための最良の方法を自動的に決定します。これにより、失敗やタイムアウトが回避されます。クエリジョブの結果を取得するときに、レスポンスボディは常に圧縮されています。
再試行は API が自動的に処理します。API の再試行が 15 回を超えたというメッセージを受け取った場合は、検索条件を適用してもう一度実行してください。
SOQL に関する考慮事項
- GROUP BY、LIMIT、ORDER BY、OFFSET、TYPEOF 句。
ORDER BY と LIMIT は、クエリの PKChunking を無効にするため使用しないでください。PKChunking が無効になると、クエリの実行に時間がかかり、クエリのタイムアウトが発生する可能性があります。ORDER BY または LIMIT を使用しているときに、クエリのタイムアウトが発生した場合は、トラブルシューティングとして、まず ORDER BY または LIMIT 句を削除してみてください。
- COUNT() などの集計関数。
- GROUP BY 句の日付関数。(WHERE 句の日付関数はサポートされます。)
- 複合の住所項目または地理位置情報項目。(代わりに、複合項目の個々のコンポーネントを照会してください。)
- 親 - 子リレーションクエリ。(子 - 親リレーションクエリはサポートされます。)