ChangeFeedPullModelIterator interface
使用 Items.getChangeFeedIterator() 傳回反覆運算器,可逐一查看分割區索引鍵、摘要範圍或整個容器的所有變更。
屬性
| has |
永遠傳回 true,changefeed 是無限數據流。 |
方法
| get |
取得會產生變更摘要結果的異步反覆運算器。 範例 從現在起取得整個容器的變更摘要
|
| read |
傳回變更摘要的下一組結果。 範例
|
屬性詳細資料
hasMoreResults
永遠傳回 true,changefeed 是無限數據流。
hasMoreResults: boolean
屬性值
boolean
方法詳細資料
getAsyncIterator()
取得會產生變更摘要結果的異步反覆運算器。
範例
從現在起取得整個容器的變更摘要
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)[]>>
傳回
AsyncIterable<ChangeFeedIteratorResponse<(T & Resource)[]>>
readNext()
傳回變更摘要的下一組結果。
範例
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)[]>>
傳回
Promise<ChangeFeedIteratorResponse<(T & Resource)[]>>