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
CosmosClientThe 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
stringThe long-running operation identifier.
cancellationToken
CancellationToken
Returns
GetLongRunningOperationLogEntries(string, CancellationToken)
Retrieves all log entries for a long-running operation.
public Task<List<LongRunningOperationLogEntry>> GetLongRunningOperationLogEntries(string operationId, CancellationToken cancellationToken = default)
Parameters
operationId
stringThe long-running operation identifier.
cancellationToken
CancellationToken
Returns
GetLongRunningOperationResult(string, CancellationToken)
Retrieves the result of a long-running operation.
public Task<JsonDocument?> GetLongRunningOperationResult(string operationId, CancellationToken cancellationToken = default)
Parameters
operationId
stringThe long-running operation identifier.
cancellationToken
CancellationToken
Returns
GetLongRunningOperations(CancellationToken)
Retrieves all long-running operations.
public Task<List<LongRunningOperation>> GetLongRunningOperations(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationToken
Returns
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
LongRunningOperationThe long-running operation to insert or update.
cancellationToken
CancellationToken
Returns
UpsertLongRunningOperationResult(dynamic, CancellationToken)
Inserts or updates the result of a long-running operation.
public Task<object?> UpsertLongRunningOperationResult(dynamic operationResult, CancellationToken cancellationToken = default)
Parameters
operationResult
dynamicThe operation result to insert or update.
cancellationToken
CancellationToken