FeedOptions interface

フィード オプションとクエリ メソッド。

Extends

プロパティ

accessCondition

要求に関連付けられている条件。

bufferItems

クエリ中に追加の項目のバッファリングを有効にします。 既定値: false

これにより、サーバーから一度に追加のページをバッファー処理します (maxDegreeOfParallelism を乗算)。 これにより、クライアントがページを必要とする前にページをフェッチすることで待機時間が短縮されます。 など .fetchAll、サーバーからすべての結果をドレインする場合は、通常、これを有効にする必要があります。 継続トークンを使用して一度に 1 ページのみをフェッチする場合は、これを回避する必要があります。 複数のページをドレインしているが、結果セット全体をドレインしていない場合は、待機時間を短縮するのに役立ちますが、クエリ全体の処理に使用される RU/秒の合計量が増加します (一部のページは複数回フェッチされるため)。

continuation

列挙を続行するための不透明なトークン。 既定値: 未定義

continuationToken

列挙を続行するための不透明なトークン。 既定値: 未定義

continuationTokenLimitInKB

応答の継続トークンのサイズを制限します。 既定値: 未定義

継続トークンには、ヘッダーに書き込む前にシリアル化から削除できる省略可能なデータが含まれています。 既定では、長いヘッダーを回避するためにこれを 1 kb に制限しています (Node.js にはグローバル ヘッダー サイズの制限があります)。 ユーザーはこのフィールドを設定して、より長いヘッダーを許可することができます。これは、バックエンドによるクエリ実行の最適化に役立ちます。"

enableScanInQuery

要求されたパスでインデックス作成がオプトアウトされたクエリでスキャンを許可します。 既定値: false

一般に、この設定の使用は避けるのが最善です。 スキャンは比較的高価であり、処理に時間がかかります。

forceQueryPlan

この設定により、クエリ プランが強制的に使用されます。 既定値: false

注: これにより、単一パーティション クエリでも継続トークンのサポートが無効になります。

集計やほとんどのクロス パーティション クエリなどのクエリの場合は、この処理が行われます。 ただし、最初の応答が返されるまで、ライブラリはクエリの種類を認識しないため、後で最適化を行うことはできません。

この設定を有効にすると、クエリのクエリ プランが強制されます。これにより、一部のネットワーク要求が保存され、並列処理が確実に実行されます。 クロスパーティションまたは集計クエリを実行していることがわかっている場合に便利です。

maxDegreeOfParallelism

Azure Cosmos DB データベース サービスでの並列クエリの実行中にクライアント側を実行する同時実行操作の最大数。 負の値を指定すると、実行する同時実行操作の数が自動的に決定されます。 既定値: 0 (並列処理なし)

maxItemCount

列挙操作で返されるアイテムの最大数。 既定値: 未定義 (サーバーによってペイロードが定義されます)

通常、この値を使用して期限切れになると、クエリのパフォーマンスが最も大きく変わる可能性があります。

項目数が小さい場合、最初の結果は速くなります (非集計の場合)。 大量の場合、要求の処理には時間がかかりますが、通常は大規模なクエリのスループットが向上します (つまり、他のアクションを実行する前に 1000 項目が必要な場合は、1000 に設定 maxItemCount します)。最初の 100 以降に作業を開始できる場合は、100 に設定 maxItemCount します)。

partitionKey

クエリを特定のパーティション キーに制限します。 既定値: 未定義

クエリを 1 つのパーティションにスコープ設定するには、次の 2 つの方法があります。

container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray() container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()

前者は、クエリ本文が制御を外れているが、1 つのパーティションに制限する場合に便利です。 例: エンド ユーザーが指定したクエリ。

populateIndexMetrics

応答ヘッダーでインデックス メトリックの返しを有効にします。 既定値: false

populateQueryMetrics

応答ヘッダーでクエリ メトリックの返しを有効にします。 既定値: false

低速または負荷の高いクエリのデバッグに使用されます。 また、応答サイズが大きくなり、Node.js で最大ヘッダー サイズが小さい場合は、問題が迅速に発生する可能性があります。

useIncrementalFeed

注: 代わりに changeFeed を使用することを検討してください。

変更フィード要求を示します。 "増分フィード" に設定するか、それ以外の場合は省略する必要があります。 既定値: false

継承されたプロパティ

abortSignal

abortSignal を使用して、このメソッド呼び出しによって作成されたすべての基になるネットワーク要求に渡します。 「https://developer.mozilla.org/en-US/docs/Web/API/AbortController」を参照してください。

読み取り要求を取り消す

const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
initialHeaders

(高度なユース ケース)Cosmos に要求を送信するときに開始する初期ヘッダー

maxIntegratedCacheStalenessInMs

Azure CosmosDB サービスの要求に関連付けられている制約値を設定します。 が <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> または <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>の要求の場合、統合キャッシュからの応答は、この maxIntegratedCacheStaleness によって示される値よりも古くないことを保証されます。 整合性レベルが設定されていない場合、このプロパティは無視されます。

既定値は null です

キャッシュの整合性はミリ秒単位でサポートされます。 ミリ秒未満の値は無視されます。

priorityLevel

各要求の優先度レベル (低/高)。 優先度の低い要求は、優先度の高い要求の前に常に調整されます。

既定値は null です。 既定では、すべての要求の優先度が高い

sessionToken

ドキュメント コンテナーの読み取り要求に関するドキュメント コンテナー クォータ関連の統計の取得を有効または無効にします。

プロパティの詳細

accessCondition

要求に関連付けられている条件。

accessCondition?: { condition: string, type: string }

プロパティ値

{ condition: string, type: string }

bufferItems

クエリ中に追加の項目のバッファリングを有効にします。 既定値: false

これにより、サーバーから一度に追加のページをバッファー処理します (maxDegreeOfParallelism を乗算)。 これにより、クライアントがページを必要とする前にページをフェッチすることで待機時間が短縮されます。 など .fetchAll、サーバーからすべての結果をドレインする場合は、通常、これを有効にする必要があります。 継続トークンを使用して一度に 1 ページのみをフェッチする場合は、これを回避する必要があります。 複数のページをドレインしているが、結果セット全体をドレインしていない場合は、待機時間を短縮するのに役立ちますが、クエリ全体の処理に使用される RU/秒の合計量が増加します (一部のページは複数回フェッチされるため)。

bufferItems?: boolean

プロパティ値

boolean

continuation

警告

この API は非推奨になりました。

Use continuationToken instead.

列挙を続行するための不透明なトークン。 既定値: 未定義

continuation?: string

プロパティ値

string

continuationToken

列挙を続行するための不透明なトークン。 既定値: 未定義

continuationToken?: string

プロパティ値

string

continuationTokenLimitInKB

応答の継続トークンのサイズを制限します。 既定値: 未定義

継続トークンには、ヘッダーに書き込む前にシリアル化から削除できる省略可能なデータが含まれています。 既定では、長いヘッダーを回避するためにこれを 1 kb に制限しています (Node.js にはグローバル ヘッダー サイズの制限があります)。 ユーザーはこのフィールドを設定して、より長いヘッダーを許可することができます。これは、バックエンドによるクエリ実行の最適化に役立ちます。"

continuationTokenLimitInKB?: number

プロパティ値

number

enableScanInQuery

要求されたパスでインデックス作成がオプトアウトされたクエリでスキャンを許可します。 既定値: false

一般に、この設定の使用は避けるのが最善です。 スキャンは比較的高価であり、処理に時間がかかります。

enableScanInQuery?: boolean

プロパティ値

boolean

forceQueryPlan

この設定により、クエリ プランが強制的に使用されます。 既定値: false

注: これにより、単一パーティション クエリでも継続トークンのサポートが無効になります。

集計やほとんどのクロス パーティション クエリなどのクエリの場合は、この処理が行われます。 ただし、最初の応答が返されるまで、ライブラリはクエリの種類を認識しないため、後で最適化を行うことはできません。

この設定を有効にすると、クエリのクエリ プランが強制されます。これにより、一部のネットワーク要求が保存され、並列処理が確実に実行されます。 クロスパーティションまたは集計クエリを実行していることがわかっている場合に便利です。

forceQueryPlan?: boolean

プロパティ値

boolean

maxDegreeOfParallelism

Azure Cosmos DB データベース サービスでの並列クエリの実行中にクライアント側を実行する同時実行操作の最大数。 負の値を指定すると、実行する同時実行操作の数が自動的に決定されます。 既定値: 0 (並列処理なし)

maxDegreeOfParallelism?: number

プロパティ値

number

maxItemCount

列挙操作で返されるアイテムの最大数。 既定値: 未定義 (サーバーによってペイロードが定義されます)

通常、この値を使用して期限切れになると、クエリのパフォーマンスが最も大きく変わる可能性があります。

項目数が小さい場合、最初の結果は速くなります (非集計の場合)。 大量の場合、要求の処理には時間がかかりますが、通常は大規模なクエリのスループットが向上します (つまり、他のアクションを実行する前に 1000 項目が必要な場合は、1000 に設定 maxItemCount します)。最初の 100 以降に作業を開始できる場合は、100 に設定 maxItemCount します)。

maxItemCount?: number

プロパティ値

number

partitionKey

クエリを特定のパーティション キーに制限します。 既定値: 未定義

クエリを 1 つのパーティションにスコープ設定するには、次の 2 つの方法があります。

container.items.query('SELECT * from c', { partitionKey: "foo" }).toArray() container.items.query('SELECT * from c WHERE c.yourPartitionKey = "foo"').toArray()

前者は、クエリ本文が制御を外れているが、1 つのパーティションに制限する場合に便利です。 例: エンド ユーザーが指定したクエリ。

partitionKey?: PartitionKey

プロパティ値

populateIndexMetrics

応答ヘッダーでインデックス メトリックの返しを有効にします。 既定値: false

populateIndexMetrics?: boolean

プロパティ値

boolean

populateQueryMetrics

応答ヘッダーでクエリ メトリックの返しを有効にします。 既定値: false

低速または負荷の高いクエリのデバッグに使用されます。 また、応答サイズが大きくなり、Node.js で最大ヘッダー サイズが小さい場合は、問題が迅速に発生する可能性があります。

populateQueryMetrics?: boolean

プロパティ値

boolean

useIncrementalFeed

注: 代わりに changeFeed を使用することを検討してください。

変更フィード要求を示します。 "増分フィード" に設定するか、それ以外の場合は省略する必要があります。 既定値: false

useIncrementalFeed?: boolean

プロパティ値

boolean

継承されたプロパティの詳細

abortSignal

abortSignal を使用して、このメソッド呼び出しによって作成されたすべての基になるネットワーク要求に渡します。 「https://developer.mozilla.org/en-US/docs/Web/API/AbortController」を参照してください。

読み取り要求を取り消す

const controller = new AbortController()
const {result: item} = await items.query('SELECT * from c', { abortSignal: controller.signal});
controller.abort()
abortSignal?: AbortSignal

プロパティ値

AbortSignal

SharedOptions.abortSignalから継承

initialHeaders

(高度なユース ケース)Cosmos に要求を送信するときに開始する初期ヘッダー

initialHeaders?: CosmosHeaders

プロパティ値

SharedOptions.initialHeadersから継承

maxIntegratedCacheStalenessInMs

Azure CosmosDB サービスの要求に関連付けられている制約値を設定します。 が <xref:com.azure.cosmos.ConsistencyLevel><xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> または <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>の要求の場合、統合キャッシュからの応答は、この maxIntegratedCacheStaleness によって示される値よりも古くないことを保証されます。 整合性レベルが設定されていない場合、このプロパティは無視されます。

既定値は null です

キャッシュの整合性はミリ秒単位でサポートされます。 ミリ秒未満の値は無視されます。

maxIntegratedCacheStalenessInMs?: number

プロパティ値

number

SharedOptions.maxIntegratedCacheStalenessInMsから継承されます

priorityLevel

各要求の優先度レベル (低/高)。 優先度の低い要求は、優先度の高い要求の前に常に調整されます。

既定値は null です。 既定では、すべての要求の優先度が高い

priorityLevel?: PriorityLevel

プロパティ値

SharedOptions.priorityLevelから継承

sessionToken

ドキュメント コンテナーの読み取り要求に関するドキュメント コンテナー クォータ関連の統計の取得を有効または無効にします。

sessionToken?: string

プロパティ値

string

SharedOptions.sessionTokenから継承