ChangeFeedPullModelIterator interface
Items.getChangeFeedIterator()
を使用して、パーティション キー、フィード範囲、またはコンテナー全体のすべての変更を反復処理できる反復子を返します。
プロパティ
has |
常に true を返します。changefeed は無限ストリームです。 |
メソッド
get |
変更フィードの結果を生成する非同期反復子を取得します。 例 今からコンテナー全体の changefeed を取得する
|
read |
変更フィードの次の結果セットを返します。 例
|
プロパティの詳細
hasMoreResults
常に true を返します。changefeed は無限ストリームです。
hasMoreResults: boolean
プロパティ値
boolean
メソッドの詳細
getAsyncIterator()
変更フィードの結果を生成する非同期反復子を取得します。
例
今からコンテナー全体の changefeed を取得する
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)[]>>