Items class
Операции для создания новых элементов и чтения и запроса всех элементов
Сведения о чтении, замене или удалении существующего контейнера см. в элементе; используйте .item(id)
.
Свойства
container |
Методы
batch(Operation |
Выполнение транзакционных пакетных операций для элементов. Пакет принимает массив операций, типизированных на основе операций. Пакет является транзакционной и откатит все операции при сбое. Варианты: Create, Upsert, Read, Replace и Delete Пример использования:
|
bulk(Operation |
Выполнение массовых операций с элементами. Массовая операция принимает массив операций, типизированных на основе операций. Варианты: Create, Upsert, Read, Replace и Delete Пример использования:
|
change |
Создание |
change |
Создание пример Чтение с самого начала канала изменений.
|
change |
Создание |
change |
Создание |
create<T>(T, Request |
Создайте элемент. Любой предоставленный тип T не обязательно применяется пакетом SDK. Вы можете получить более или менее свойства, и это до вашей логики, чтобы применить ее. Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств. пример Создайте элемент.
|
execute |
Выполнение массовых операций с элементами. пример
|
get |
Возвращает итератор для итерации по страницам изменений. Возвращаемый итератор можно использовать для получения изменений для одного ключа секции, диапазона веб-каналов или всего контейнера. пример
|
get |
Опрашивает все элементы в зашифрованном контейнере. пример Чтение всех элементов в массив.
|
query(string | Sql |
Запрашивает все элементы. пример Чтение всех элементов в массив.
|
query<T>(string | Sql |
Запрашивает все элементы. пример Чтение всех элементов в массив.
|
read |
Чтение всех элементов. Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств. пример Чтение всех элементов в массив.
|
read |
Чтение всех элементов. Любой предоставленный тип T не обязательно применяется пакетом SDK. Вы можете получить более или менее свойства, и это до вашей логики, чтобы применить ее. Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств. пример Чтение всех элементов в массив.
|
read |
Создание |
read |
Создание пример Чтение с самого начала канала изменений.
|
read |
Создание |
read |
Создание |
upsert(unknown, Request |
Upsert элемент. Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств. |
upsert<T>(T, Request |
Upsert элемент. Любой предоставленный тип T не обязательно применяется пакетом SDK. Вы можете получить более или менее свойства, и это до вашей логики, чтобы применить ее. Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств. пример Upsert элемент.
|
Сведения о свойстве
container
Сведения о методе
batch(OperationInput[], PartitionKey, RequestOptions)
Выполнение транзакционных пакетных операций для элементов.
Пакет принимает массив операций, типизированных на основе операций. Пакет является транзакционной и откатит все операции при сбое. Варианты: Create, Upsert, Read, Replace и Delete
Пример использования:
import { CosmosClient, OperationInput } 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" });
// The partitionKey is a required second argument. If it’s undefined, it defaults to the expected partition key format.
const operations: OperationInput[] = [
{
operationType: "Create",
resourceBody: { id: "doc1", name: "sample", key: "A" },
},
{
operationType: "Upsert",
resourceBody: { id: "doc2", name: "other", key: "A" },
},
];
await container.items.batch(operations, "A");
function batch(operations: OperationInput[], partitionKey?: PartitionKey, options?: RequestOptions): Promise<Response<OperationResponse[]>>
Параметры
- operations
Список операций. Ограничение 100
- partitionKey
- PartitionKey
- options
- RequestOptions
Используется для изменения запроса
Возвращаемое значение
Promise<Response<OperationResponse[]>>
bulk(OperationInput[], BulkOptions, RequestOptions)
Выполнение массовых операций с элементами.
Массовая операция принимает массив операций, типизированных на основе операций. Варианты: Create, Upsert, Read, Replace и Delete
Пример использования:
import { CosmosClient, OperationInput } 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" });
// partitionKey is optional at the top level if present in the resourceBody
const operations: OperationInput[] = [
{
operationType: "Create",
resourceBody: { id: "doc1", name: "sample", key: "A" },
},
{
operationType: "Upsert",
partitionKey: "A",
resourceBody: { id: "doc2", name: "other", key: "A" },
},
];
await container.items.bulk(operations);
function bulk(operations: OperationInput[], bulkOptions?: BulkOptions, options?: RequestOptions): Promise<BulkOperationResponse>
Параметры
- operations
Список операций. Ограничение 100
- bulkOptions
- BulkOptions
Необязательный объект параметров для изменения массового поведения. Передайте { continueOnError: false } для остановки выполнения операций при сбое. (Значение по умолчанию — true)
- options
- RequestOptions
Используется для изменения запроса.
Возвращаемое значение
Promise<BulkOperationResponse>
changeFeed(ChangeFeedOptions)
Предупреждение
Теперь этот API является нерекомендуемым.
Use getChangeFeedIterator
instead.
Создание ChangeFeedIterator
для итерации по страницам изменений
function changeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<any>
Параметры
- changeFeedOptions
- ChangeFeedOptions
Возвращаемое значение
ChangeFeedIterator<any>
changeFeed(PartitionKey, ChangeFeedOptions)
Предупреждение
Теперь этот API является нерекомендуемым.
Use getChangeFeedIterator
instead.
Создание ChangeFeedIterator
для итерации по страницам изменений
пример
Чтение с самого начала канала изменений.
const iterator = items.readChangeFeed({ startFromBeginning: true });
const firstPage = await iterator.fetchNext();
const firstPageResults = firstPage.result
const secondPage = await iterator.fetchNext();
function changeFeed(partitionKey: PartitionKey, changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<any>
Параметры
- partitionKey
- PartitionKey
- changeFeedOptions
- ChangeFeedOptions
Возвращаемое значение
ChangeFeedIterator<any>
changeFeed<T>(ChangeFeedOptions)
Предупреждение
Теперь этот API является нерекомендуемым.
Use getChangeFeedIterator
instead.
Создание ChangeFeedIterator
для итерации по страницам изменений
function changeFeed<T>(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<T>
Параметры
- changeFeedOptions
- ChangeFeedOptions
Возвращаемое значение
changeFeed<T>(PartitionKey, ChangeFeedOptions)
Предупреждение
Теперь этот API является нерекомендуемым.
Use getChangeFeedIterator
instead.
Создание ChangeFeedIterator
для итерации по страницам изменений
function changeFeed<T>(partitionKey: PartitionKey, changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<T>
Параметры
- partitionKey
- PartitionKey
- changeFeedOptions
- ChangeFeedOptions
Возвращаемое значение
create<T>(T, RequestOptions)
Создайте элемент.
Любой предоставленный тип T не обязательно применяется пакетом SDK. Вы можете получить более или менее свойства, и это до вашей логики, чтобы применить ее.
Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств.
пример
Создайте элемент.
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 { resource: createdItem } = await container.items.create({
id: "<item id>",
properties: {},
});
function create<T>(body: T, options?: RequestOptions): Promise<ItemResponse<T>>
Параметры
- body
-
T
Представляет текст элемента. Может содержать любое количество пользовательских свойств.
- options
- RequestOptions
Используется для изменения запроса (например, указания ключа секции).
Возвращаемое значение
Promise<ItemResponse<T>>
executeBulkOperations(OperationInput[], RequestOptions)
Выполнение массовых операций с элементами.
пример
import { CosmosClient, OperationInput } 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 operations: OperationInput[] = [
{
operationType: "Create",
resourceBody: { id: "doc1", name: "sample", key: "A" },
},
{
operationType: "Upsert",
partitionKey: "A",
resourceBody: { id: "doc2", name: "other", key: "A" },
},
];
await container.items.executeBulkOperations(operations);
function executeBulkOperations(operations: OperationInput[], options?: RequestOptions): Promise<BulkOperationResult[]>
Параметры
- operations
Список операций
- options
- RequestOptions
используется для изменения запроса
Возвращаемое значение
Promise<BulkOperationResult[]>
перечень результатов операций, соответствующих операциям
getChangeFeedIterator<T>(ChangeFeedIteratorOptions)
Возвращает итератор для итерации по страницам изменений. Возвращаемый итератор можно использовать для получения изменений для одного ключа секции, диапазона веб-каналов или всего контейнера.
пример
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 getChangeFeedIterator<T>(changeFeedIteratorOptions?: ChangeFeedIteratorOptions): ChangeFeedPullModelIterator<T>
Параметры
- changeFeedIteratorOptions
- ChangeFeedIteratorOptions
Возвращаемое значение
getEncryptionQueryIterator(EncryptionQueryBuilder, FeedOptions)
Опрашивает все элементы в зашифрованном контейнере.
пример
Чтение всех элементов в массив.
import { CosmosClient, EncryptionQueryBuilder } 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 queryBuilder = new EncryptionQueryBuilder(
`SELECT firstname FROM Families f WHERE f.lastName = @lastName`,
);
queryBuilder.addParameter("@lastName", "Hendricks", "/lastname");
const queryIterator = await container.items.getEncryptionQueryIterator(queryBuilder);
const { resources: items } = await queryIterator.fetchAll();
function getEncryptionQueryIterator(queryBuilder: EncryptionQueryBuilder, options?: FeedOptions): Promise<QueryIterator<ItemDefinition>>
Параметры
- queryBuilder
- EncryptionQueryBuilder
Настройка запроса для операции. Дополнительные сведения о том, как создать запрос на основе зашифрованных свойств, см. в статье SqlQuerySpec .
- options
- FeedOptions
Используется для изменения запроса (например, указания ключа секции).
Возвращаемое значение
Promise<QueryIterator<ItemDefinition>>
query(string | SqlQuerySpec, FeedOptions)
Запрашивает все элементы.
пример
Чтение всех элементов в массив.
import { CosmosClient, SqlQuerySpec } 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 querySpec: SqlQuerySpec = {
query: `SELECT * FROM Families f WHERE f.lastName = @lastName`,
parameters: [{ name: "@lastName", value: "Hendricks" }],
};
const { resources: items } = await container.items.query(querySpec).fetchAll();
function query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator<any>
Параметры
- query
-
string | SqlQuerySpec
Настройка запроса для операции. Дополнительные сведения о настройке запроса см. в SqlQuerySpec.
- options
- FeedOptions
Используется для изменения запроса (например, указания ключа секции).
Возвращаемое значение
QueryIterator<any>
query<T>(string | SqlQuerySpec, FeedOptions)
Запрашивает все элементы.
пример
Чтение всех элементов в массив.
import { CosmosClient, SqlQuerySpec } 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 querySpec: SqlQuerySpec = {
query: `SELECT * FROM Families f WHERE f.lastName = @lastName`,
parameters: [{ name: "@lastName", value: "Hendricks" }],
};
const { resources: items } = await container.items.query(querySpec).fetchAll();
function query<T>(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator<T>
Параметры
- query
-
string | SqlQuerySpec
Настройка запроса для операции. Дополнительные сведения о настройке запроса см. в SqlQuerySpec.
- options
- FeedOptions
Используется для изменения запроса (например, указания ключа секции).
Возвращаемое значение
readAll(FeedOptions)
Чтение всех элементов.
Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств.
пример
Чтение всех элементов в массив.
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 { resources: containerList } = await container.items.readAll().fetchAll();
function readAll(options?: FeedOptions): QueryIterator<ItemDefinition>
Параметры
- options
- FeedOptions
Используется для изменения запроса (например, указания ключа секции).
Возвращаемое значение
readAll<T>(FeedOptions)
Чтение всех элементов.
Любой предоставленный тип T не обязательно применяется пакетом SDK. Вы можете получить более или менее свойства, и это до вашей логики, чтобы применить ее.
Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств.
пример
Чтение всех элементов в массив.
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 { resources: containerList } = await container.items.readAll().fetchAll();
function readAll<T>(options?: FeedOptions): QueryIterator<T>
Параметры
- options
- FeedOptions
Используется для изменения запроса (например, указания ключа секции).
Возвращаемое значение
readChangeFeed(ChangeFeedOptions)
Предупреждение
Теперь этот API является нерекомендуемым.
Use getChangeFeedIterator
instead.
Создание ChangeFeedIterator
для итерации по страницам изменений
function readChangeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<any>
Параметры
- changeFeedOptions
- ChangeFeedOptions
Возвращаемое значение
ChangeFeedIterator<any>
readChangeFeed(PartitionKey, ChangeFeedOptions)
Предупреждение
Теперь этот API является нерекомендуемым.
Use getChangeFeedIterator
instead.
Создание ChangeFeedIterator
для итерации по страницам изменений
пример
Чтение с самого начала канала изменений.
const iterator = items.readChangeFeed({ startFromBeginning: true });
const firstPage = await iterator.fetchNext();
const firstPageResults = firstPage.result
const secondPage = await iterator.fetchNext();
function readChangeFeed(partitionKey: PartitionKey, changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<any>
Параметры
- partitionKey
- PartitionKey
- changeFeedOptions
- ChangeFeedOptions
Возвращаемое значение
ChangeFeedIterator<any>
readChangeFeed<T>(ChangeFeedOptions)
Предупреждение
Теперь этот API является нерекомендуемым.
Use getChangeFeedIterator
instead.
Создание ChangeFeedIterator
для итерации по страницам изменений
function readChangeFeed<T>(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<T>
Параметры
- changeFeedOptions
- ChangeFeedOptions
Возвращаемое значение
readChangeFeed<T>(PartitionKey, ChangeFeedOptions)
Предупреждение
Теперь этот API является нерекомендуемым.
Use getChangeFeedIterator
instead.
Создание ChangeFeedIterator
для итерации по страницам изменений
function readChangeFeed<T>(partitionKey: PartitionKey, changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<T>
Параметры
- partitionKey
- PartitionKey
- changeFeedOptions
- ChangeFeedOptions
Возвращаемое значение
upsert(unknown, RequestOptions)
Upsert элемент.
Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств.
function upsert(body: unknown, options?: RequestOptions): Promise<ItemResponse<ItemDefinition>>
Параметры
- body
-
unknown
Представляет текст элемента. Может содержать любое количество пользовательских свойств.
- options
- RequestOptions
Используется для изменения запроса (например, указания ключа секции).
Возвращаемое значение
Promise<ItemResponse<ItemDefinition>>
upsert<T>(T, RequestOptions)
Upsert элемент.
Любой предоставленный тип T не обязательно применяется пакетом SDK. Вы можете получить более или менее свойства, и это до вашей логики, чтобы применить ее.
Для элементов JSON не задана схема. Они могут содержать любое количество настраиваемых свойств.
пример
Upsert элемент.
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 { resource: createdItem1 } = await container.items.create({
id: "<item id 1>",
properties: {},
});
const { resource: upsertItem1 } = await container.items.upsert({
id: "<item id 1>",
updated_properties: {},
});
const { resource: upsertItem2 } = await container.items.upsert({
id: "<item id 2>",
properties: {},
});
function upsert<T>(body: T, options?: RequestOptions): Promise<ItemResponse<T>>
Параметры
- body
-
T
Представляет текст элемента. Может содержать любое количество пользовательских свойств.
- options
- RequestOptions
Используется для изменения запроса (например, указания ключа секции).
Возвращаемое значение
Promise<ItemResponse<T>>