Table of Contents

Class CosmosDbService

Namespace
FoundationaLLM.State.Services
Assembly
FoundationaLLM.State.dll

Service to access Azure Cosmos DB for NoSQL.

public class CosmosDbService : ICosmosDbService
Inheritance
CosmosDbService
Implements
Inherited Members
Extension Methods

Constructors

CosmosDbService(IOptions<AzureCosmosDBSettings>, CosmosClient, ILogger<CosmosDbService>)

Initializes a new instance of the CosmosDbService class.

public CosmosDbService(IOptions<AzureCosmosDBSettings> settings, CosmosClient client, ILogger<CosmosDbService> logger)

Parameters

settings IOptions<AzureCosmosDBSettings>

The AzureCosmosDBSettings settings retrieved by the injected IOptions<TOptions>.

client CosmosClient

The Cosmos DB client.

logger ILogger<CosmosDbService>

The logging interface used to log under the CosmosDbService type name.

Exceptions

ArgumentException

Thrown if any of the required settings are null or empty.

Methods

GetLongRunningOperation(string, CancellationToken)

Retrieves a long-running operation by its identifier.

public Task<LongRunningOperation> GetLongRunningOperation(string id, CancellationToken cancellationToken = default)

Parameters

id string

The long-running operation identifier.

cancellationToken CancellationToken

Returns

Task<LongRunningOperation>

GetLongRunningOperationLogEntries(string, CancellationToken)

Retrieves all log entries for a long-running operation.

public Task<List<LongRunningOperationLogEntry>> GetLongRunningOperationLogEntries(string operationId, CancellationToken cancellationToken = default)

Parameters

operationId string

The long-running operation identifier.

cancellationToken CancellationToken

Returns

Task<List<LongRunningOperationLogEntry>>

GetLongRunningOperationResult(string, CancellationToken)

Retrieves the result of a long-running operation.

public Task<JsonDocument?> GetLongRunningOperationResult(string operationId, CancellationToken cancellationToken = default)

Parameters

operationId string

The long-running operation identifier.

cancellationToken CancellationToken

Returns

Task<JsonDocument>

GetLongRunningOperations(CancellationToken)

Retrieves all long-running operations.

public Task<List<LongRunningOperation>> GetLongRunningOperations(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<List<LongRunningOperation>>

UpsertLongRunningOperation(LongRunningOperation, CancellationToken)

Inserts or updates a long-running operation and creates a log entry.

public Task<LongRunningOperation> UpsertLongRunningOperation(LongRunningOperation operation, CancellationToken cancellationToken = default)

Parameters

operation LongRunningOperation

The long-running operation to insert or update.

cancellationToken CancellationToken

Returns

Task<LongRunningOperation>

UpsertLongRunningOperationResult(dynamic, CancellationToken)

Inserts or updates the result of a long-running operation.

public Task<object?> UpsertLongRunningOperationResult(dynamic operationResult, CancellationToken cancellationToken = default)

Parameters

operationResult dynamic

The operation result to insert or update.

cancellationToken CancellationToken

Returns

Task<object>