VectorStoreCollection<TKey,TRecord>.UpsertAsync Método

Definição

Insere um registro no repositório de vetores. Se o registro já existir, ele será atualizado. Se ele não existir, ele será criado.

Sobrecargas

Nome Description
UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Atualiza um lote de registros no repositório de vetores. Não garante que a coleção exista. Se o registro já existir, ele será atualizado. Se o registro não existir, ele será criado.

UpsertAsync(TRecord, CancellationToken)

Insere um registro no repositório de vetores. Não garante que a coleção exista. Se o registro já existir, ele será atualizado. Se o registro não existir, ele será criado.

UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Origem:
VectorStoreCollection.cs

Atualiza um lote de registros no repositório de vetores. Não garante que a coleção exista. Se o registro já existir, ele será atualizado. Se o registro não existir, ele será criado.

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

Parâmetros

records
IEnumerable<TRecord>

Os registros para upsert.

cancellationToken
CancellationToken

O CancellationToken para monitorar solicitações de cancelamento. O padrão é None.

Retornos

Um Task que é concluído quando os registros foram atualizados.

Exceções

O comando falha ao ser executado por qualquer motivo.

Comentários

O método exato de upserting do lote é específico da implementação e pode variar com base no suporte do banco de dados.

Da mesma forma, o comportamento de erro pode variar entre bancos de dados: sempre que possível, o lote deve ser atualizado atomicamente, de modo que quaisquer erros façam com que todo o lote seja revertido. Quando não há suporte, alguns registros podem ser upserted enquanto outros não. Se as propriedades de chave forem definidas pelo usuário, toda a operação upsert será idempotente e poderá ser repetida novamente se ocorrer um erro. No entanto, se as chaves geradas pelo repositório estiverem em uso, a operação upsert não será mais idempotente; nesse caso, se o banco de dados não garantir a atomicidade, a repetição poderá fazer com que registros duplicados sejam criados.

As implementações devem implementar esse método de VectorStoreCollection<TKey,TRecord> forma a executar a geração de inserção uma vez para o lote, em vez de gerar uma inserção para cada registro separadamente. É por isso que uma implementação padrão que chama UpsertAsync(TRecord, CancellationToken) não é fornecida.

Aplica-se a

UpsertAsync(TRecord, CancellationToken)

Origem:
VectorStoreCollection.cs

Insere um registro no repositório de vetores. Não garante que a coleção exista. Se o registro já existir, ele será atualizado. Se o registro não existir, ele será criado.

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

Parâmetros

record
TRecord

O registro para upsert.

cancellationToken
CancellationToken

O CancellationToken para monitorar solicitações de cancelamento. O padrão é None.

Retornos

Um Task que é concluído quando o registro foi atualizado.

Exceções

O comando falha ao ser executado por qualquer motivo.

Aplica-se a