FeedOptions interface

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

Extends

プロパティ

accessCondition

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

allowUnboundedNonStreamingQueries

クエリによる非ストリーミング順序に対してのみ有効です。 既定値: false。true に設定すると、クエリは、top 句または limit 句を使用せずに非ストリーミング クエリをブロックする既定の動作をバイパスできます。

bufferItems

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

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

continuation

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

continuationToken

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

continuationTokenLimitInKB

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

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

disableNonStreamingOrderByQuery

サポートされているクエリ機能で nonStreamingOrderBy クエリ機能を無効にします。 既定値: false。 この機能をサポートしていない古いゲートウェイからのエラーを回避するには、true に設定します。

enableScanInQuery

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

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

forceQueryPlan

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

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

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

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

maxDegreeOfParallelism

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

maxItemCount

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

通常、この値で期限切れになると、クエリのパフォーマンスが最大に変更される可能性があります。

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

partitionKey

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

クエリを 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

vectorSearchBufferSize

NonStreamingOrderBy クエリの最終的な結果を格納するためのカスタムの最大バッファー サイズを指定します。 クエリに top/offset+limit 句が含まれている場合、この値は無視されます。

継承されたプロパティ

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()
bypassIntegratedCache

Azure CosmosDB サービスの要求に対して統合キャッシュをバイパスするか有効にするかを設定します。

既定値は false です。 既定では、統合キャッシュが有効になっています

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 }

allowUnboundedNonStreamingQueries

クエリによる非ストリーミング順序に対してのみ有効です。 既定値: false。true に設定すると、クエリは、top 句または limit 句を使用せずに非ストリーミング クエリをブロックする既定の動作をバイパスできます。

allowUnboundedNonStreamingQueries?: boolean

プロパティ値

boolean

bufferItems

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

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

bufferItems?: boolean

プロパティ値

boolean

continuation

警告

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

Use continuationToken instead.

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

continuation?: string

プロパティ値

string

continuationToken

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

continuationToken?: string

プロパティ値

string

continuationTokenLimitInKB

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

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

continuationTokenLimitInKB?: number

プロパティ値

number

disableNonStreamingOrderByQuery

サポートされているクエリ機能で nonStreamingOrderBy クエリ機能を無効にします。 既定値: false。 この機能をサポートしていない古いゲートウェイからのエラーを回避するには、true に設定します。

disableNonStreamingOrderByQuery?: boolean

プロパティ値

boolean

enableScanInQuery

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

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

enableScanInQuery?: boolean

プロパティ値

boolean

forceQueryPlan

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

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

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

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

forceQueryPlan?: boolean

プロパティ値

boolean

maxDegreeOfParallelism

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

maxDegreeOfParallelism?: number

プロパティ値

number

maxItemCount

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

通常、この値で期限切れになると、クエリのパフォーマンスが最大に変更される可能性があります。

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

maxItemCount?: number

プロパティ値

number

partitionKey

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

クエリを 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

vectorSearchBufferSize

NonStreamingOrderBy クエリの最終的な結果を格納するためのカスタムの最大バッファー サイズを指定します。 クエリに top/offset+limit 句が含まれている場合、この値は無視されます。

vectorSearchBufferSize?: number

プロパティ値

number

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

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 から継承された

bypassIntegratedCache

Azure CosmosDB サービスの要求に対して統合キャッシュをバイパスするか有効にするかを設定します。

既定値は false です。 既定では、統合キャッシュが有効になっています

bypassIntegratedCache?: boolean

プロパティ値

boolean

SharedOptions.bypassIntegratedCache から継承された

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 から継承された