Compartir a través de


FeedOptions interface

Las opciones de fuente y los métodos de consulta.

Extends

Propiedades

accessCondition

Condiciones asociadas a la solicitud.

allowUnboundedNonStreamingQueries

Válido solo para el orden de no streaming por consulta. Valor predeterminado: false; Cuando se establece en true, permite que las consultas omitan el comportamiento predeterminado que bloquea las consultas noStreaming sin cláusulas top o limit.

bufferItems

Habilite el almacenamiento en búfer de elementos adicionales durante las consultas. Valor predeterminado: false

Esto almacenará en búfer una página adicional a la vez (multiplicada por maxDegreeOfParallelism) desde el servidor en segundo plano. Esto mejora la latencia mediante la captura de páginas antes de que el cliente las necesite. Si va a purgar todos los resultados del servidor, como .fetchAll, normalmente debe habilitarlo. Si solo va a capturar una página a la vez a través del token de continuación, debe evitarlo. Si va a purgar más de una página, pero no todo el conjunto de resultados, puede ayudar a mejorar la latencia, pero aumentará la cantidad total de RU/s que se usan para atender toda la consulta (ya que algunas páginas se capturarán más de una vez).

continuation

Token opaco para continuar con la enumeración. Valor predeterminado: sin definir

continuationToken

Token opaco para continuar con la enumeración. Valor predeterminado: sin definir

continuationTokenLimitInKB

Limita el tamaño del token de continuación en la respuesta. Valor predeterminado: sin definir

Los tokens de continuación contienen datos opcionales que se pueden quitar de la serialización antes de escribirlos en un encabezado. De forma predeterminada, se limita a 1 kb para evitar encabezados largos (Node.js tiene un límite de tamaño de encabezado global). Un usuario puede establecer este campo para permitir encabezados más largos, lo que puede ayudar al back-end a optimizar la ejecución de consultas".

disableNonStreamingOrderByQuery

Deshabilite la característica de consulta nonStreamingOrderBy en las características de consulta admitidas. Valor predeterminado: false. Establézcalo en true para evitar errores de una puerta de enlace antigua que no admita esta característica.

enableScanInQuery

Permitir el examen en las consultas que no se pudieron servir como indexación se ha rechazado en las rutas de acceso solicitadas. Valor predeterminado: false

En general, es mejor evitar el uso de esta configuración. Los exámenes son relativamente costosos y tardan mucho tiempo en servirse.

forceQueryPlan

Esta configuración obliga a la consulta a usar un plan de consulta. Valor predeterminado: false

Nota: esto deshabilitará la compatibilidad con tokens de continuación, incluso para consultas de partición única.

En el caso de consultas como agregados y la mayoría de las consultas entre particiones, esto sucede de todos modos. Sin embargo, dado que la biblioteca no sabe qué tipo de consulta es hasta que se devuelve la primera respuesta, algunas optimizaciones no pueden ocurrir hasta más adelante.

Si esta configuración está habilitada, forzará el plan de consulta para la consulta, lo que guardará algunas solicitudes de red y garantizará que se pueda producir paralelismo. Resulta útil cuando sabe que está realizando consultas entre particiones o agregados.

maxDegreeOfParallelism

Número máximo de operaciones simultáneas que ejecutan el lado cliente durante la ejecución de consultas paralelas en el servicio de base de datos de Azure Cosmos DB. Los valores negativos hacen que el sistema decida automáticamente el número de operaciones simultáneas que se van a ejecutar. Valor predeterminado: 0 (sin paralelismo)

maxItemCount

Número máximo de elementos que se van a devolver en la operación de enumeración. Valor predeterminado: no definido (el servidor definirá la carga)

La expiración con este valor normalmente puede dar lugar a los cambios de rendimiento más importantes en la consulta.

Cuanto menor sea el recuento de elementos, cuanto más rápido se entregue el primer resultado (para los no agregados). Para cantidades mayores, tardará más tiempo en atender la solicitud, pero normalmente obtendrá un mejor rendimiento para las consultas grandes (es decir, si necesita 1000 elementos antes de poder realizar cualquier otra acción, establezca maxItemCount en 1000. Si puede empezar a realizar el trabajo después de los primeros 100, establezca maxItemCount en 100).

partitionKey

Limita la consulta a una clave de partición específica. Valor predeterminado: sin definir

El ámbito de una consulta en una sola partición se puede lograr de dos maneras:

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

El primero es útil cuando el cuerpo de la consulta está fuera del control, pero todavía desea restringirlo a una sola partición. Ejemplo: una consulta especificada por el usuario final.

populateIndexMetrics

Habilite la devolución de métricas de índice en encabezados de respuesta. Valor predeterminado: false

populateQueryMetrics

Habilite la devolución de métricas de consulta en encabezados de respuesta. Valor predeterminado: false

Se usa para depurar consultas lentas o costosas. También aumenta el tamaño de respuesta y, si usa un tamaño de encabezado máximo bajo en Node.js, puede encontrarse con problemas más rápidos.

useIncrementalFeed

Nota: considere la posibilidad de usar changeFeed en su lugar.

Indica una solicitud de fuente de cambios. Debe establecerse en "Fuente incremental" o omitirse de lo contrario. Valor predeterminado: false

vectorSearchBufferSize

Especifica un tamaño de búfer máximo personalizado para almacenar los resultados finales para las consultas nonStreamingOrderBy. Este valor se omite si la consulta incluye cláusulas top/offset+limit.

Propiedades heredadas

abortSignal

abortSignal para pasar a todas las solicitudes de red subyacentes creadas por esta llamada de método. Consulte https://developer.mozilla.org/en-US/docs/Web/API/AbortController

de ejemplo de

Cancelación de una solicitud de lectura

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

Establece si se debe omitir o habilitar la caché integrada para la solicitud en el servicio Azure CosmosDB.

El valor predeterminado es false. De forma predeterminada, la caché integrada está habilitada

initialHeaders

(Caso de uso avanzado) Encabezados iniciales con los que empezar al enviar solicitudes a Cosmos

maxIntegratedCacheStalenessInMs

Establece el valor de obsolescencia asociado a la solicitud en el servicio Azure CosmosDB. En el caso de las solicitudes en las que el <xref:com.azure.cosmos.ConsistencyLevel> es <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> o <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, se garantiza que las respuestas de la caché integrada no sean obsoletas que el valor indicado por este maxIntegratedCacheStaleness. Cuando no se establece el nivel de coherencia, esta propiedad se omite.

El valor predeterminado es NULL

La obsolescencia de caché se admite en granularidad de milisegundos. Se omitirá cualquier cosa menor que milisegundos.

priorityLevel

Nivel de prioridad (bajo/alto) para cada solicitud. Las solicitudes de prioridad baja siempre se limitan antes de las solicitudes de prioridad alta.

El valor predeterminado es NULL. De forma predeterminada, todas las solicitudes son de prioridad alta

sessionToken

Habilita o deshabilita la obtención de estadísticas relacionadas con la cuota de contenedor de documentos para las solicitudes de lectura del contenedor de documentos.

Detalles de las propiedades

accessCondition

Condiciones asociadas a la solicitud.

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

Valor de propiedad

{ condition: string, type: string }

allowUnboundedNonStreamingQueries

Válido solo para el orden de no streaming por consulta. Valor predeterminado: false; Cuando se establece en true, permite que las consultas omitan el comportamiento predeterminado que bloquea las consultas noStreaming sin cláusulas top o limit.

allowUnboundedNonStreamingQueries?: boolean

Valor de propiedad

boolean

bufferItems

Habilite el almacenamiento en búfer de elementos adicionales durante las consultas. Valor predeterminado: false

Esto almacenará en búfer una página adicional a la vez (multiplicada por maxDegreeOfParallelism) desde el servidor en segundo plano. Esto mejora la latencia mediante la captura de páginas antes de que el cliente las necesite. Si va a purgar todos los resultados del servidor, como .fetchAll, normalmente debe habilitarlo. Si solo va a capturar una página a la vez a través del token de continuación, debe evitarlo. Si va a purgar más de una página, pero no todo el conjunto de resultados, puede ayudar a mejorar la latencia, pero aumentará la cantidad total de RU/s que se usan para atender toda la consulta (ya que algunas páginas se capturarán más de una vez).

bufferItems?: boolean

Valor de propiedad

boolean

continuation

Advertencia

Esta API ya está en desuso.

Use continuationToken instead.

Token opaco para continuar con la enumeración. Valor predeterminado: sin definir

continuation?: string

Valor de propiedad

string

continuationToken

Token opaco para continuar con la enumeración. Valor predeterminado: sin definir

continuationToken?: string

Valor de propiedad

string

continuationTokenLimitInKB

Limita el tamaño del token de continuación en la respuesta. Valor predeterminado: sin definir

Los tokens de continuación contienen datos opcionales que se pueden quitar de la serialización antes de escribirlos en un encabezado. De forma predeterminada, se limita a 1 kb para evitar encabezados largos (Node.js tiene un límite de tamaño de encabezado global). Un usuario puede establecer este campo para permitir encabezados más largos, lo que puede ayudar al back-end a optimizar la ejecución de consultas".

continuationTokenLimitInKB?: number

Valor de propiedad

number

disableNonStreamingOrderByQuery

Deshabilite la característica de consulta nonStreamingOrderBy en las características de consulta admitidas. Valor predeterminado: false. Establézcalo en true para evitar errores de una puerta de enlace antigua que no admita esta característica.

disableNonStreamingOrderByQuery?: boolean

Valor de propiedad

boolean

enableScanInQuery

Permitir el examen en las consultas que no se pudieron servir como indexación se ha rechazado en las rutas de acceso solicitadas. Valor predeterminado: false

En general, es mejor evitar el uso de esta configuración. Los exámenes son relativamente costosos y tardan mucho tiempo en servirse.

enableScanInQuery?: boolean

Valor de propiedad

boolean

forceQueryPlan

Esta configuración obliga a la consulta a usar un plan de consulta. Valor predeterminado: false

Nota: esto deshabilitará la compatibilidad con tokens de continuación, incluso para consultas de partición única.

En el caso de consultas como agregados y la mayoría de las consultas entre particiones, esto sucede de todos modos. Sin embargo, dado que la biblioteca no sabe qué tipo de consulta es hasta que se devuelve la primera respuesta, algunas optimizaciones no pueden ocurrir hasta más adelante.

Si esta configuración está habilitada, forzará el plan de consulta para la consulta, lo que guardará algunas solicitudes de red y garantizará que se pueda producir paralelismo. Resulta útil cuando sabe que está realizando consultas entre particiones o agregados.

forceQueryPlan?: boolean

Valor de propiedad

boolean

maxDegreeOfParallelism

Número máximo de operaciones simultáneas que ejecutan el lado cliente durante la ejecución de consultas paralelas en el servicio de base de datos de Azure Cosmos DB. Los valores negativos hacen que el sistema decida automáticamente el número de operaciones simultáneas que se van a ejecutar. Valor predeterminado: 0 (sin paralelismo)

maxDegreeOfParallelism?: number

Valor de propiedad

number

maxItemCount

Número máximo de elementos que se van a devolver en la operación de enumeración. Valor predeterminado: no definido (el servidor definirá la carga)

La expiración con este valor normalmente puede dar lugar a los cambios de rendimiento más importantes en la consulta.

Cuanto menor sea el recuento de elementos, cuanto más rápido se entregue el primer resultado (para los no agregados). Para cantidades mayores, tardará más tiempo en atender la solicitud, pero normalmente obtendrá un mejor rendimiento para las consultas grandes (es decir, si necesita 1000 elementos antes de poder realizar cualquier otra acción, establezca maxItemCount en 1000. Si puede empezar a realizar el trabajo después de los primeros 100, establezca maxItemCount en 100).

maxItemCount?: number

Valor de propiedad

number

partitionKey

Limita la consulta a una clave de partición específica. Valor predeterminado: sin definir

El ámbito de una consulta en una sola partición se puede lograr de dos maneras:

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

El primero es útil cuando el cuerpo de la consulta está fuera del control, pero todavía desea restringirlo a una sola partición. Ejemplo: una consulta especificada por el usuario final.

partitionKey?: PartitionKey

Valor de propiedad

populateIndexMetrics

Habilite la devolución de métricas de índice en encabezados de respuesta. Valor predeterminado: false

populateIndexMetrics?: boolean

Valor de propiedad

boolean

populateQueryMetrics

Habilite la devolución de métricas de consulta en encabezados de respuesta. Valor predeterminado: false

Se usa para depurar consultas lentas o costosas. También aumenta el tamaño de respuesta y, si usa un tamaño de encabezado máximo bajo en Node.js, puede encontrarse con problemas más rápidos.

populateQueryMetrics?: boolean

Valor de propiedad

boolean

useIncrementalFeed

Nota: considere la posibilidad de usar changeFeed en su lugar.

Indica una solicitud de fuente de cambios. Debe establecerse en "Fuente incremental" o omitirse de lo contrario. Valor predeterminado: false

useIncrementalFeed?: boolean

Valor de propiedad

boolean

vectorSearchBufferSize

Especifica un tamaño de búfer máximo personalizado para almacenar los resultados finales para las consultas nonStreamingOrderBy. Este valor se omite si la consulta incluye cláusulas top/offset+limit.

vectorSearchBufferSize?: number

Valor de propiedad

number

Detalles de las propiedades heredadas

abortSignal

abortSignal para pasar a todas las solicitudes de red subyacentes creadas por esta llamada de método. Consulte https://developer.mozilla.org/en-US/docs/Web/API/AbortController

de ejemplo de

Cancelación de una solicitud de lectura

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

Valor de propiedad

AbortSignal

Heredado deSharedOptions.abortSignal

bypassIntegratedCache

Establece si se debe omitir o habilitar la caché integrada para la solicitud en el servicio Azure CosmosDB.

El valor predeterminado es false. De forma predeterminada, la caché integrada está habilitada

bypassIntegratedCache?: boolean

Valor de propiedad

boolean

heredado desharedOptions.bypassIntegratedCache

initialHeaders

(Caso de uso avanzado) Encabezados iniciales con los que empezar al enviar solicitudes a Cosmos

initialHeaders?: CosmosHeaders

Valor de propiedad

Heredado deSharedOptions.initialHeaders

maxIntegratedCacheStalenessInMs

Establece el valor de obsolescencia asociado a la solicitud en el servicio Azure CosmosDB. En el caso de las solicitudes en las que el <xref:com.azure.cosmos.ConsistencyLevel> es <xref:com.azure.cosmos.ConsistencyLevel%23EVENTUAL> o <xref:com.azure.cosmos.ConsistencyLevel%23SESSION>, se garantiza que las respuestas de la caché integrada no sean obsoletas que el valor indicado por este maxIntegratedCacheStaleness. Cuando no se establece el nivel de coherencia, esta propiedad se omite.

El valor predeterminado es NULL

La obsolescencia de caché se admite en granularidad de milisegundos. Se omitirá cualquier cosa menor que milisegundos.

maxIntegratedCacheStalenessInMs?: number

Valor de propiedad

number

Heredado deSharedOptions.maxIntegratedCacheStalenessInMs

priorityLevel

Nivel de prioridad (bajo/alto) para cada solicitud. Las solicitudes de prioridad baja siempre se limitan antes de las solicitudes de prioridad alta.

El valor predeterminado es NULL. De forma predeterminada, todas las solicitudes son de prioridad alta

priorityLevel?: PriorityLevel

Valor de propiedad

se hereda desharedOptions.priorityLevel

sessionToken

Habilita o deshabilita la obtención de estadísticas relacionadas con la cuota de contenedor de documentos para las solicitudes de lectura del contenedor de documentos.

sessionToken?: string

Valor de propiedad

string

heredado desharedOptions.sessionToken