VectorStoreCollection<TKey,TRecord>.UpsertAsync Méthode

Définition

Surcharges

Nom Description
UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Upserts un lot d’enregistrements dans le magasin vectoriel. Ne garantit pas que la collection existe. Si l’enregistrement existe déjà, il est mis à jour. Si l’enregistrement n’existe pas, il est créé.

UpsertAsync(TRecord, CancellationToken)

Upserts un enregistrement dans le magasin vectoriel. Ne garantit pas que la collection existe. Si l’enregistrement existe déjà, il est mis à jour. Si l’enregistrement n’existe pas, il est créé.

UpsertAsync(IEnumerable<TRecord>, CancellationToken)

Upserts un lot d’enregistrements dans le magasin vectoriel. Ne garantit pas que la collection existe. Si l’enregistrement existe déjà, il est mis à jour. Si l’enregistrement n’existe pas, il est créé.

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

Paramètres

records
IEnumerable<TRecord>

Enregistrements à upsert.

cancellationToken
CancellationToken

À CancellationToken surveiller pour les demandes d’annulation. La valeur par défaut est None.

Retours

Une Task opération terminée lorsque les enregistrements ont été mis à jour.

Exceptions

La commande ne parvient pas à s’exécuter pour une raison quelconque.

Remarques

La méthode exacte d’upserting du lot est spécifique à l’implémentation et peut varier en fonction de la prise en charge de la base de données.

De même, le comportement d’erreur peut varier entre les bases de données : dans la mesure du possible, le lot doit être mis à l’échelle atomiquement afin que toutes les erreurs entraînent la restauration de l’ensemble du lot. Lorsqu’ils ne sont pas pris en charge, certains enregistrements peuvent être mis à jour alors que d’autres ne le sont pas. Si les propriétés de clé sont définies par l’utilisateur, l’opération upsert entière est idempotente et peut simplement être retentée si une erreur se produit. Toutefois, si les clés générées par le magasin sont en cours d’utilisation, l’opération upsert n’est plus idempotente ; dans ce cas, si la base de données ne garantit pas l’atomicité, la nouvelle tentative peut entraîner la création d’enregistrements en double.

Les implémentations de VectorStoreCollection<TKey,TRecord> doivent implémenter cette méthode de manière à effectuer une génération d’incorporation une fois pour le lot, plutôt que de générer une incorporation pour chaque enregistrement séparément. C’est pourquoi une implémentation par défaut qui appelle UpsertAsync(TRecord, CancellationToken) n’est pas fournie.

S’applique à

UpsertAsync(TRecord, CancellationToken)

Upserts un enregistrement dans le magasin vectoriel. Ne garantit pas que la collection existe. Si l’enregistrement existe déjà, il est mis à jour. Si l’enregistrement n’existe pas, il est créé.

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

Paramètres

record
TRecord

Enregistrement à upsert.

cancellationToken
CancellationToken

À CancellationToken surveiller pour les demandes d’annulation. La valeur par défaut est None.

Retours

Une Task opération terminée lorsque l’enregistrement a été mis à jour.

Exceptions

La commande ne parvient pas à s’exécuter pour une raison quelconque.

S’applique à