FeedOptions interface
フィード オプションとクエリ メソッド。
- Extends
プロパティ
access |
要求に関連付けられている条件。 |
allow |
クエリによる非ストリーミング順序に対してのみ有効です。 既定値: false。true に設定すると、クエリは、top 句または limit 句を使用せずに非ストリーミング クエリをブロックする既定の動作をバイパスできます。 |
buffer |
クエリ中に追加項目のバッファリングを有効にします。 既定値: false これにより、サーバーから一度に追加のページがバッファーされます (maxDegreeOfParallelism を乗算)。
これにより、クライアントがページを必要とする前にページをフェッチすることで待機時間が短縮されます。
|
continuation | 列挙を続行するための不透明なトークン。 既定値: undefined |
continuation |
列挙を続行するための不透明なトークン。 既定値: undefined |
continuation |
応答の継続トークンのサイズを制限します。 既定値: undefined 継続トークンには、ヘッダーに書き込む前にシリアル化から削除できる省略可能なデータが含まれています。 デフォルトでは、長いヘッダーを避けるためにこれを 1kb に制限しています (Node.js にはグローバルなヘッダー サイズ制限があります)。 ユーザーはこのフィールドを設定して、より長いヘッダーを許可することができます。これは、バックエンドがクエリの実行を最適化するのに役立ちます。 |
disable |
既定値: false。 true に設定すると、ハイブリッド検索クエリ プランの最適化が無効になります。 この最適化はデフォルトで有効になっており、ハイブリッド検索クエリのパフォーマンスを向上させるために使用されます。 |
disable |
サポートされているクエリ機能で nonStreamingOrderBy クエリ機能を無効にします。 既定値: false。 この機能をサポートしていない古いゲートウェイからのエラーを回避するには、true に設定します。 |
enable |
クエリの実行動作を制御します。
既定値: false。 false に設定すると、クエリは結果の準備が整い、 |
enable |
要求されたパスでインデックス作成がオプトアウトされたために処理できなかったクエリのスキャンを許可します。 既定値: false 一般に、この設定の使用は避けるのが最善です。 スキャンは比較的コストがかかり、処理に時間がかかります。 |
force |
この設定により、クエリプランが強制的に使用されます。 既定値: false 注: これにより、単一パーティション クエリの場合でも、継続トークンのサポートが無効になります。 集計やほとんどのクロス パーティション クエリなどのクエリの場合、これはとにかく発生します。 ただし、ライブラリは最初の応答を返すまでクエリの種類を認識しないため、一部の最適化は後で行うことはできません。 この設定を有効にすると、クエリのクエリ プランが強制されるため、一部のネットワーク要求が保存され、並列処理が確実に実行されます。 クロスパーティションクエリまたは集計クエリを実行していることがわかっている場合に便利です。 |
max |
Azure Cosmos DB データベース サービスでの並列クエリの実行中にクライアント側を実行する同時実行操作の最大数。 負の値を指定すると、実行する同時実行操作の数がシステムによって自動的に決定されます。 既定値: 0 (並列処理なし) |
max |
列挙操作で返されるアイテムの最大数。 既定値: 未定義 (サーバーによってペイロードが定義されます) 通常、この値で期限切れになると、クエリのパフォーマンスが最大に変更される可能性があります。 項目数が小さい場合、(非集計の場合) 最初の結果の配信速度が速くなります。 量が多いほど、リクエストの処理に時間がかかりますが、通常は大きなクエリの方がスループットが向上します(つまり、他のアクションを実行する前に1000アイテムが必要な場合は、 |
partition |
クエリを特定のパーティション キーに制限します。 既定値: undefined クエリを 1 つのパーティションにスコープ設定するには、次の 2 つの方法があります。
前者は、クエリ本文が制御を外れているが、1 つのパーティションに制限したい場合に便利です。 例: エンド ユーザーが指定したクエリ。 |
populate |
応答ヘッダーでインデックス メトリックの返しを有効にします。 既定値: false |
populate |
応答ヘッダーでクエリ メトリックの返しを有効にします。 既定値: false 低速または高価なクエリのデバッグに使用されます。 また、応答サイズが大きくなり、Node.jsで最小ヘッダーサイズを小さくしている場合は、問題に早く遭遇する可能性があります。 |
use |
注: 代わりに changeFeed を使用することを検討してください。 変更フィード要求を示します。 "増分フィード" に設定するか、それ以外の場合は省略する必要があります。 既定値: false |
vector |
NonStreamingOrderBy クエリの最終的な結果を格納するためのカスタムの最大バッファー サイズを指定します。 クエリに top/offset+limit 句が含まれている場合、この値は無視されます。 |
継承されたプロパティ
abort |
abortSignal を使用して、このメソッド呼び出しによって作成されたすべての基になるネットワーク要求に渡します。 https://developer.mozilla.org/en-US/docs/Web/API/AbortController を参照してください 例 読み取り要求を取り消す
|
bypass |
Azure CosmosDB サービスの要求に対して統合キャッシュをバイパスするか有効にするかを設定します。 既定値は false です。 既定では、統合キャッシュが有効になっています |
consistency |
クライアントが必要とする整合性レベル。 |
disable |
DisableRUPerMinuteUsage は、通常のプロビジョニングされた RU/秒が使い果たされた場合に要求を処理するための要求ユニット (RU)/分の容量を有効/無効にするために使用されます。 |
initial |
(高度なユース ケース)Cosmos に要求を送信するときに開始する初期ヘッダー |
max |
Azure CosmosDB サービスの要求に関連付けられている制約値を設定します。 <xref:com.azure.cosmos.ConsistencyLevel> が <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> または <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>されている要求の場合、統合キャッシュからの応答は、この maxIntegratedCacheStaleness で示される値よりも古くないことを保証されます。 整合性レベルが設定されていない場合、このプロパティは無視されます。 既定値は null です キャッシュの制約はミリ秒単位の細分性でサポートされます。 ミリ秒未満の値は無視されます。 |
priority |
各要求の優先度レベル (低/高)。 優先度の低い要求は、優先度の高い要求の前に常に調整されます。 既定値は null です。 既定では、すべての要求の優先度が高い |
session |
ドキュメント コンテナーの読み取り要求に関するドキュメント コンテナー クォータ関連の統計の取得を有効または無効にします。 |
throughput |
要求のスループットバケット。 既定値は null です。 この場合、要求ではパーティションのスループットの 100% を使用できます。 詳細については、[Cosmos DB スループット バケット](https://aka.ms/cosmsodb-bucketing). |
プロパティの詳細
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
継続トークンには、ヘッダーに書き込む前にシリアル化から削除できる省略可能なデータが含まれています。 デフォルトでは、長いヘッダーを避けるためにこれを 1kb に制限しています (Node.js にはグローバルなヘッダー サイズ制限があります)。 ユーザーはこのフィールドを設定して、より長いヘッダーを許可することができます。これは、バックエンドがクエリの実行を最適化するのに役立ちます。
continuationTokenLimitInKB?: number
プロパティ値
number
disableHybridSearchQueryPlanOptimization
既定値: false。 true に設定すると、ハイブリッド検索クエリ プランの最適化が無効になります。 この最適化はデフォルトで有効になっており、ハイブリッド検索クエリのパフォーマンスを向上させるために使用されます。
disableHybridSearchQueryPlanOptimization?: boolean
プロパティ値
boolean
disableNonStreamingOrderByQuery
サポートされているクエリ機能で nonStreamingOrderBy クエリ機能を無効にします。 既定値: false。 この機能をサポートしていない古いゲートウェイからのエラーを回避するには、true に設定します。
disableNonStreamingOrderByQuery?: boolean
プロパティ値
boolean
enableQueryControl
クエリの実行動作を制御します。
既定値: false。 false に設定すると、クエリは結果の準備が整い、 maxItemCount
に達するまで再試行されます。これは、データが比較的小さい大きなパーティションでは時間がかかることがあります。
true に設定すると、パーティションが最大 maxDegreeOfParallelism
までスキャンされ、結果をバッファーに追加して、使用可能なものが返されます。 結果の準備ができていない場合は、空の応答を返します。
enableQueryControl?: 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 を参照してください
例
読み取り要求を取り消す
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
const controller = new AbortController();
const results = container.items.query("SELECT * from c", {
abortSignal: controller.signal,
});
abortSignal?: AbortSignal
プロパティ値
AbortSignal
bypassIntegratedCache
Azure CosmosDB サービスの要求に対して統合キャッシュをバイパスするか有効にするかを設定します。
既定値は false です。 既定では、統合キャッシュが有効になっています
bypassIntegratedCache?: boolean
プロパティ値
boolean
consistencyLevel
disableRUPerMinuteUsage
DisableRUPerMinuteUsage は、通常のプロビジョニングされた RU/秒が使い果たされた場合に要求を処理するための要求ユニット (RU)/分の容量を有効/無効にするために使用されます。
disableRUPerMinuteUsage?: boolean
プロパティ値
boolean
initialHeaders
(高度なユース ケース)Cosmos に要求を送信するときに開始する初期ヘッダー
initialHeaders?: CosmosHeaders
プロパティ値
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
priorityLevel
各要求の優先度レベル (低/高)。 優先度の低い要求は、優先度の高い要求の前に常に調整されます。
既定値は null です。 既定では、すべての要求の優先度が高い
priorityLevel?: PriorityLevel
プロパティ値
sessionToken
ドキュメント コンテナーの読み取り要求に関するドキュメント コンテナー クォータ関連の統計の取得を有効または無効にします。
sessionToken?: string
プロパティ値
string
SharedOptions.sessionTokenから継承されます
throughputBucket
要求のスループットバケット。
既定値は null です。 この場合、要求ではパーティションのスループットの 100% を使用できます。
詳細については、[Cosmos DB スループット バケット](https://aka.ms/cosmsodb-bucketing).throughputBucket?: number
プロパティ値
number