Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

REST API を介して SOQLクエリによって返される最大行数

公開日: Oct 13, 2022
説明
REST API リソースを使用して SOQL クエリを実行する際の注意点を説明します。
解決策
  • 返される結果の最大サイズは 2,000 行ですが、いくつもの項目を選択した場合、または BLOB 項目 (たとえば、ロングテキストエリア、リッチテキストエリア) を SOQL クエリに含めると、結果のサイズは小さくなります。
  • 各 REST コールにおいて、URI とヘッダーを合わせた最大の長さは 16,384 バイトです。この制限を超えるリクエストは、「431 Request Header Fields Too Large」エラーを返します。また、URI 自体がこの制限を超える場合、リクエストは「414 URI Too Long」エラーを返します。
  • SOQL クエリは翻訳され、サーバー側でクエリを実行するために必要な情報 (ユーザ名、組織、関係を示す複雑な数式など) が追加されるため、クエリの最大長は許可された URI の制限よりも小さくなる可能性があります。URI の長さは 2,000 文字まで、ヘッダーは約 8,000 バイトまでとすることを推奨します。
  • レスポンスは transfer-encoding: chunked で送信可能です。つまり、レスポンスサイズ (コンテンツの長さ) の修正や見積もりはできません。レコード数を制限する根本的な理由は、アプリケーションサーバのパフォーマンスではなく、データベースのパフォーマンスにあります。

「431 Request Header Fields Too Large」エラーを回避するには、SOQL ステートメントを、許可されている 25 のサブリクエストの 1 つとして、Composite API リクエストのボディに組み込むようにしてください。 Composite レスポンスボディは、直接の /query または /queryAll リクエストとは若干異なります。

レスポンスの nextRecordsUrl の値を使用して追加の結果をページネーションして取得する必要がある場合 (「SOQL クエリの残りの結果の取得」を参照)、同様に、Composite API を介して送信するか、nextRecordsUrl 項目に表示されている /query エンドポイントに直接アクセスすることで実現できます。


関連情報:
Query REST API
検索とクエリの使用
API 要求の制限と割り当て
ナレッジ記事番号

000386264

 
読み込み中
Salesforce Help | Article