Rag.NET.DataProviders.AzureBlob
1.3.0
dotnet add package Rag.NET.DataProviders.AzureBlob --version 1.3.0
NuGet\Install-Package Rag.NET.DataProviders.AzureBlob -Version 1.3.0
<PackageReference Include="Rag.NET.DataProviders.AzureBlob" Version="1.3.0" />
<PackageVersion Include="Rag.NET.DataProviders.AzureBlob" Version="1.3.0" />
<PackageReference Include="Rag.NET.DataProviders.AzureBlob" />
paket add Rag.NET.DataProviders.AzureBlob --version 1.3.0
#r "nuget: Rag.NET.DataProviders.AzureBlob, 1.3.0"
#:package Rag.NET.DataProviders.AzureBlob@1.3.0
#addin nuget:?package=Rag.NET.DataProviders.AzureBlob&version=1.3.0
#tool nuget:?package=Rag.NET.DataProviders.AzureBlob&version=1.3.0
Rag.NET.DataProviders.AzureBlob
Part of Rag.NET — a modular RAG pipeline for .NET built on Microsoft.Extensions.AI. Ships as 74 packages; install only what you call. Documentation · Choosing packages
Azure Blob Storage connector for Rag.NET ingestion: enumerates a container (optionally under a prefix) and streams blobs into the pipeline, using each blob's ETag so unchanged blobs are skipped on re-runs.
Install
dotnet add package Rag.NET.DataProviders.AzureBlob
Setup
using Microsoft.Extensions.DependencyInjection;
using Rag.NET.DataProviders.AzureBlob;
services.AddAzureBlobDataProvider(
connectionString: Environment.GetEnvironmentVariable("AZURE_STORAGE_CONNECTION_STRING")!,
containerName: "my-documents",
configure: opts =>
{
opts.Extensions = [".pdf", ".docx", ".md"]; // ["*"] = everything
opts.Prefix = "reports/";
});
An overload accepts a TokenCredential + container URI for managed identity instead of a
connection string.
Example
Unlike the cursor-based connectors, Azure Blob has no delta token — pass a hash store and the pipeline compares each blob's ETag against the stored value:
using Microsoft.Extensions.DependencyInjection;
using Rag.NET.Abstractions;
using Rag.NET.DataProviders;
using Rag.NET.Models;
var provider = sp.GetRequiredService<IFileContentProvider>();
var hashStore = sp.GetRequiredService<IContentHashStore>();
var result = await pipeline.IngestFromProviderAsync(provider, new ProviderId("blob-docs"), hashStore);
Console.WriteLine($"Ingested {result.Ingested}, skipped {result.Skipped} (unchanged ETags)");
Full guide
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Azure.Storage.Blobs (>= 12.30.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.13)
- Rag.NET.DataProviders (>= 1.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.