VectorStoreCollection<TKey,TRecord>.UpsertAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.