Class AzureCosmosDBDataPipelineService
- Namespace
- FoundationaLLM.DataPipelineEngine.Services.CosmosDB
- Assembly
- FoundationaLLM.DataPipelineEngine.dll
Provides the implementation for the Azure Cosmos DB data pipeline service.
public class AzureCosmosDBDataPipelineService : IAzureCosmosDBDataPipelineService
- Inheritance
-
AzureCosmosDBDataPipelineService
- Implements
- Inherited Members
- Extension Methods
Constructors
AzureCosmosDBDataPipelineService(IOptions<AzureCosmosDBSettings>, ILogger<AzureCosmosDBDataPipelineService>)
Initializes a new instance of the AzureCosmosDBDataPipelineService class.
public AzureCosmosDBDataPipelineService(IOptions<AzureCosmosDBSettings> options, ILogger<AzureCosmosDBDataPipelineService> logger)
Parameters
optionsIOptions<AzureCosmosDBSettings>The IOptions providing the AzureCosmosDBSettings) with the Azure Cosmos DB settings.
loggerILogger<AzureCosmosDBDataPipelineService>The ILogger used for logging.
Fields
_cosmosClient
protected readonly CosmosClient _cosmosClient
Field Value
_dataPipelineContainer
protected readonly Container _dataPipelineContainer
Field Value
_leasesContainer
protected readonly Container _leasesContainer
Field Value
_logger
protected readonly ILogger<AzureCosmosDBDataPipelineService> _logger
Field Value
_settings
protected readonly AzureCosmosDBSettings _settings
Field Value
Methods
GetDataPipelineContentItem(string, string)
Get a data pipeline content item by its canonical identifier.
public Task<DataPipelineContentItem> GetDataPipelineContentItem(string dataPipelineRunId, string contentItemCanonicalId)
Parameters
dataPipelineRunIdstringThje data pipeine run identifier.
contentItemCanonicalIdstringThe canonical identifier of the content item run.
Returns
GetDataPipelineRuns(DataPipelineRunFilter)
Gets a list of data pipeline runs filtered by the provided filter criteria.
public Task<List<DataPipelineRun>> GetDataPipelineRuns(DataPipelineRunFilter dataPipelineRunFilter)
Parameters
dataPipelineRunFilterDataPipelineRunFilterThe filter criteria used to filter data pipeline runs.
Returns
- Task<List<DataPipelineRun>>
The list of requests data pipeline runs.
PatchDataPipelineRunWorkItemsStatusAsync(List<DataPipelineRunWorkItem>)
Patches the status of data pipeline run work items in Azure Cosmos DB.
public Task<bool> PatchDataPipelineRunWorkItemsStatusAsync(List<DataPipelineRunWorkItem> workItems)
Parameters
workItemsList<DataPipelineRunWorkItem>The list of data pipeline work items that need the status update.
Returns
PatchItemPropertiesAsync<T>(string, string, Dictionary<string, object?>, CancellationToken)
Patches the specified properties of an item in Azure Cosmos DB.
public Task<T> PatchItemPropertiesAsync<T>(string partitionKey, string id, Dictionary<string, object?> propertyValues, CancellationToken cancellationToken = default)
Parameters
partitionKeystringThe partition key of the item.
idstringThe identifier of the item.
propertyValuesDictionary<string, object>Dictionary of the property names and values to patch.
cancellationTokenCancellationTokenCancellation token for async calls.
Returns
- Task<T>
The patched object of type
.
Type Parameters
TThe type of the item to patch.
RetrieveItem<T>(string, string)
Retrieves an item from Azure Cosmos DB.
public Task<T> RetrieveItem<T>(string id, string partitionKey)
Parameters
Returns
- Task<T>
Type Parameters
TThe type of the item to retrieve.
RetrieveItemsAsync<T>(QueryDefinition)
Retrieves items from Azure Cosmos DB.
public Task<List<T>> RetrieveItemsAsync<T>(QueryDefinition query)
Parameters
queryQueryDefinitionThe query definition used to retrieve the items.
Returns
Type Parameters
TThe type of the items to retrieve.
StartChangeFeedProcessorAsync(Func<DataPipelineRunWorkItem, Task>)
Starts the change feed processor for the data pipeline run work items.
public Task<bool> StartChangeFeedProcessorAsync(Func<DataPipelineRunWorkItem, Task> dataPipelineRunWorkItemProcessor)
Parameters
dataPipelineRunWorkItemProcessorFunc<DataPipelineRunWorkItem, Task>The asynchronous delegate that is invoked for each data pipeline run work item.
Returns
StopChangeFeedProcessorAsync()
Stops the change feed processor for the data pipeline run work items.
public Task StopChangeFeedProcessorAsync()
Returns
UpsertDataPipelineRunBatchAsync(params dynamic[])
Batch create or update data pipeline run items.
public Task<bool> UpsertDataPipelineRunBatchAsync(params dynamic[] dataPipelineRunItems)
Parameters
dataPipelineRunItemsdynamic[]Data pipeline run items to create or replace.
Returns
UpsertItemAsync<T>(string, T, CancellationToken)
Upserts an item in Azure Cosmos DB.
public Task<T> UpsertItemAsync<T>(string partitionKey, T item, CancellationToken cancellationToken = default)
Parameters
partitionKeystringThe partition of the item to upsert.
itemTThe item to upsert.
cancellationTokenCancellationTokenThe cancellation token used to signal a cancellation request.
Returns
- Task<T>
The upserted item.
Type Parameters
TThe type of the item to upsert.