ItemRequestOptions.SessionToken プロパティ

定義

Azure Cosmos DB サービスのセッション整合性で使用するトークンを取得または設定します。

public string SessionToken { get; set; }
member this.SessionToken : string with get, set
Public Property SessionToken As String

プロパティ値

セッション整合性で使用するトークン。

注釈

ConsistencyLevel Azure Cosmos DB の 1 つはセッションです。 実際、これはアカウントに適用される既定のレベルです。

セッションの整合性を使用すると、Azure Cosmos DB に対する新しい書き込み要求ごとに、新しい SessionToken が割り当てられます。 DocumentClient は、このトークンを読み取り/クエリ要求ごとに内部的に使用して、セットの整合性レベルが維持されるようにします。

シナリオによっては、このセッションを自分で管理する必要があります。複数のノードを持つ Web アプリケーションを考えると、各ノードには独自の Microsoft.Azure.Cosmos.DocumentClient インスタンスが含まれます。これらのノードを同じセッションに参加させたい場合 (Web 層間で一貫して独自の書き込みを読み取ることができるようにするには)、1 つのノードの書き込みアクションから ItemResponse<T> SessionToken をクライアント層に送信する必要があります。 クッキーまたはその他のメカニズムを使用し、そのトークンが後続の読み取りのために Web 層に戻されるようにします。 Azure Load Balancer のように、要求間でセッション アフィニティを保持しないラウンドロビン ロード バランサーを使っている場合、読み取りが、セッションが作成された書き込み要求に対するものとは異なるノードに到達する可能性があります。

前に説明したように Azure Cosmos DB SessionToken をフローさせないと、一定の期間、一貫性のない読み取り結果が発生する可能性があります。

適用対象