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

Bulk API 2.0 クエリについて

Bulk API 2.0 クエリの可用性、サポートされるメソッド、および SOQL に関する考慮事項について説明します。

Bulk API 2.0 クエリジョブでは、SOQL クエリを非同期で処理できます。再試行は API が自動的に処理します。API の再試行が 15 回を超えたというメッセージを受け取った場合は、検索条件を適用してもう一度実行してください。クエリジョブの結果を取得するときに、レスポンスボディは常に圧縮されています。

可用性

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 は、クエリ対象のオブジェクトがチャンクをサポートしている場合、大きなクエリジョブをチャンクするように最適化されます。この最適化には、カスタムオブジェクトと、標準オブジェクトをサポートする共有テーブルおよび履歴テーブルが含まれます。バッチを手動で設定する代わりに Bulk API 2.0 クエリジョブは、クエリジョブを小さなチャンクに分割するための最良の方法を自動的に決定します。これにより、失敗やタイムアウトが回避されます。

オブジェクトで PK Chunking がサポートされるかどうかを判断するには、[クエリジョブに関する情報の取得] クエリのレスポンスボディにある [isPkChunkingSupported] 項目を確認します。

SOQL に関する考慮事項

Bulk API 2.0 では、次のいずれかの項目を含む SOQL クエリはサポートされません。
  • GROUP BY、LIMIT、ORDER BY、OFFSET、TYPEOF 句。

    ORDER BY と LIMIT は、クエリの PKChunking を無効にするため使用しないでください。PKChunking が無効になると、クエリの実行に時間がかかり、クエリのタイムアウトが発生する可能性があります。ORDER BY または LIMIT を使用しているときに、クエリのタイムアウトが発生した場合は、トラブルシューティングとして、まず ORDER BY または LIMIT 句を削除してみてください。

  • COUNT() などの集計関数。
  • GROUP BY 句の日付関数。(WHERE 句の日付関数はサポートされます。)
  • 複合の住所項目または地理位置情報項目。(代わりに、複合項目の個々のコンポーネントを照会してください。)
  • 親 - 子リレーションクエリ。(子 - 親リレーションクエリはサポートされます。)