VectorStoreCollection<TKey,TRecord>.UpsertAsync Метод

Определение

Перегрузки

Имя Описание
UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Upserts пакет записей в векторное хранилище. Не гарантирует, что коллекция существует. Если запись уже существует, она обновляется. Если запись не существует, она создается.

UpsertAsync(TRecord, CancellationToken)

Upserts a record в хранилище векторов. Не гарантирует, что коллекция существует. Если запись уже существует, она обновляется. Если запись не существует, она создается.

UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Upserts пакет записей в векторное хранилище. Не гарантирует, что коллекция существует. Если запись уже существует, она обновляется. Если запись не существует, она создается.

public abstract System.Threading.Tasks.Task UpsertAsync(System.Collections.Generic.IEnumerable<TRecord> records, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertAsync : seq<'Record (requires 'Record : null)> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public MustOverride Function UpsertAsync (records As IEnumerable(Of TRecord), Optional cancellationToken As CancellationToken = Nothing) As Task

Параметры

records
IEnumerable<TRecord>

Записи для upsert.

cancellationToken
CancellationToken

Мониторинг CancellationToken запросов на отмену. Значение по умолчанию — None.

Возвращаемое значение

Значение Task , которое завершается после того, как записи были обновлены.

Исключения

Команда не выполняется по какой-либо причине.

Комментарии

Точный метод перевернуть пакет зависит от реализации и может отличаться в зависимости от поддержки базы данных.

Аналогичным образом поведение ошибки может различаться в разных базах данных: по возможности пакет должен быть атомарно включен, чтобы все ошибки приводили к откату всего пакета. Если они не поддерживаются, некоторые записи могут быть перестроены, а другие — нет. Если ключевые свойства задаются пользователем, то вся операция upsert является идемпотентной и может быть повторна повторно, если возникает ошибка. Однако если используются созданные в магазине ключи, операция upsert больше не является идемпотентной; В этом случае, если база данных не гарантирует атомарность, повторная попытка может привести к созданию повторяющихся записей.

VectorStoreCollection<TKey,TRecord> Реализации должны реализовать этот метод таким образом, который выполняет внедрение один раз для пакета, а не создание внедрения для каждой записи отдельно. Поэтому реализация по умолчанию, которая UpsertAsync(TRecord, CancellationToken) не предоставляется.

Применяется к

UpsertAsync(TRecord, CancellationToken)

Upserts a record в хранилище векторов. Не гарантирует, что коллекция существует. Если запись уже существует, она обновляется. Если запись не существует, она создается.

public abstract System.Threading.Tasks.Task UpsertAsync(TRecord record, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertAsync : 'Record * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public MustOverride Function UpsertAsync (record As TRecord, Optional cancellationToken As CancellationToken = Nothing) As Task

Параметры

record
TRecord

Запись для upsert.

cancellationToken
CancellationToken

Мониторинг CancellationToken запросов на отмену. Значение по умолчанию — None.

Возвращаемое значение

Значение Task , которое завершается после того, как запись была обновлена.

Исключения

Команда не выполняется по какой-либо причине.

Применяется к