ChangeFeedPullModelIterator interface
Use Items.getChangeFeedIterator() para devolver un iterador que pueda iterar en todos los cambios de una clave de partición, un intervalo de fuente o un contenedor completo.
Propiedades
| has |
Siempre devuelve true, changefeed es una secuencia infinita. |
Métodos
| get |
Obtiene un iterador asincrónico que producirá resultados de fuente de cambios. de ejemplo de Obtención del suministro de cambios para un contenedor completo desde ahora
|
| read |
Devuelve el siguiente conjunto de resultados para la fuente de cambios. de ejemplo de
|
Detalles de las propiedades
hasMoreResults
Siempre devuelve true, changefeed es una secuencia infinita.
hasMoreResults: boolean
Valor de propiedad
boolean
Detalles del método
getAsyncIterator()
Obtiene un iterador asincrónico que producirá resultados de fuente de cambios.
de ejemplo de
Obtención del suministro de cambios para un contenedor completo desde ahora
import { CosmosClient, ChangeFeedStartFrom } 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 options = { changeFeedStartFrom: ChangeFeedStartFrom.Now() };
for await (const results of container.items.getChangeFeedIterator(options).getAsyncIterator()) {
// Process result
for (const resource of results.result) {
console.log(resource);
}
}
function getAsyncIterator(): AsyncIterable<ChangeFeedIteratorResponse<(T & Resource)[]>>
Devoluciones
AsyncIterable<ChangeFeedIteratorResponse<(T & Resource)[]>>
readNext()
Devuelve el siguiente conjunto de resultados para la fuente de cambios.
de ejemplo de
import {
CosmosClient,
PartitionKeyDefinitionVersion,
PartitionKeyKind,
ChangeFeedStartFrom,
} 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 containerDefinition = {
id: "Test Database",
partitionKey: {
paths: ["/name", "/address/zip"],
version: PartitionKeyDefinitionVersion.V2,
kind: PartitionKeyKind.MultiHash,
},
};
const { container } = await database.containers.createIfNotExists(containerDefinition);
const partitionKey = "some-partition-Key-value";
const options = {
changeFeedStartFrom: ChangeFeedStartFrom.Beginning(partitionKey),
};
const iterator = container.items.getChangeFeedIterator(options);
while (iterator.hasMoreResults) {
const response = await iterator.readNext();
// process this response
}
function readNext(): Promise<ChangeFeedIteratorResponse<(T & Resource)[]>>
Devoluciones
Promise<ChangeFeedIteratorResponse<(T & Resource)[]>>