VectorStoreCollection<TKey,TRecord>.UpsertAsync メソッド

定義

オーバーロード

名前 説明
UpsertAsync(IEnumerable<TRecord>, CancellationToken)

レコードのバッチをベクター ストアにアップサートします。 コレクションが存在することを保証しません。 レコードが既に存在する場合は更新されます。 レコードが存在しない場合は作成されます。

UpsertAsync(TRecord, CancellationToken)

レコードをベクター ストアにアップサートします。 コレクションが存在することを保証しません。 レコードが既に存在する場合は更新されます。 レコードが存在しない場合は作成されます。

UpsertAsync(IEnumerable<TRecord>, CancellationToken)

レコードのバッチをベクター ストアにアップサートします。 コレクションが存在することを保証しません。 レコードが既に存在する場合は更新されます。 レコードが存在しない場合は作成されます。

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>

アップサートするレコード。

cancellationToken
CancellationToken

キャンセル要求を監視する CancellationToken 。 既定値は None です。

返品

レコードがアップサートされたときに完了する Task

例外

コマンドは何らかの理由で実行に失敗します。

注釈

バッチをアップサートする正確な方法は実装固有であり、データベースのサポートによって異なる場合があります。

同様に、エラーの動作はデータベースによって異なる場合があります。可能な場合は、バッチをアトミックにアップサートし、エラーが発生するとバッチ全体がロールバックされるようにする必要があります。 サポートされていない場合は、一部のレコードがアップサートされ、それ以外のレコードがアップサートされる場合があります。 キー プロパティがユーザーによって設定されている場合、アップサート操作全体はべき等であり、エラーが発生した場合に再試行できます。 ただし、ストアで生成されたキーが使用されている場合、アップサート操作はべき等ではなくなります。その場合、データベースでアトミック性が保証されない場合は、再試行によって重複レコードが作成される可能性があります。

VectorStoreCollection<TKey,TRecord>の実装では、各レコードの埋め込みを個別に生成するのではなく、バッチの埋め込み生成を 1 回実行する方法でこのメソッドを実装する必要があります。 このため、 UpsertAsync(TRecord, CancellationToken) を呼び出す既定の実装は提供されません。

適用対象

UpsertAsync(TRecord, CancellationToken)

レコードをベクター ストアにアップサートします。 コレクションが存在することを保証しません。 レコードが既に存在する場合は更新されます。 レコードが存在しない場合は作成されます。

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

アップサートするレコード。

cancellationToken
CancellationToken

キャンセル要求を監視する CancellationToken 。 既定値は None です。

返品

レコードがアップサートされたときに完了する Task

例外

コマンドは何らかの理由で実行に失敗します。

適用対象