BeeQ.FileStorage.AzureBlob 1.0.0

dotnet add package BeeQ.FileStorage.AzureBlob --version 1.0.0
                    
NuGet\Install-Package BeeQ.FileStorage.AzureBlob -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BeeQ.FileStorage.AzureBlob" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BeeQ.FileStorage.AzureBlob" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="BeeQ.FileStorage.AzureBlob" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BeeQ.FileStorage.AzureBlob --version 1.0.0
                    
#r "nuget: BeeQ.FileStorage.AzureBlob, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BeeQ.FileStorage.AzureBlob@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BeeQ.FileStorage.AzureBlob&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=BeeQ.FileStorage.AzureBlob&version=1.0.0
                    
Install as a Cake Tool

BeeQ.FileStorage.AzureBlob

Azure Blob Storage adapter for the BeeQ.FileStorage abstraction. This package provides an implementation of IFileStorage backed by Azure Blob Storage and exposes a convenient API via IAzureBlobService and IAzureBlobService<TId>.

Key features

  • Simple integration with BeeQ.FileStorage builder extensions
  • Support for file listing, metadata, temporary access URLs, copy/move operations and tag management
  • Generic identifier support (IAzureBlobService<TId>) and a Guid-based convenience interface (IAzureBlobService)
  • Targets .NET 8, .NET 9 and .NET 10

Installation

Install the package from NuGet:

dotnet add package BeeQ.FileStorage.AzureBlob

Basic usage

Register the Azure Blob provider using the IFileStorageBuilder extension.

// Using default Guid-based provider
var storage = builder.UseAzureBlob("myschema", options =>
{
	options.ConnectionString = "<AZURE_BLOB_CONNECTION_STRING>";
	options.ContainerName = "my-container";
});

// Using a typed id
var typedStorage = builder.UseAzureBlob<Guid>("myschema", options =>
{
	options.ConnectionString = "<AZURE_BLOB_CONNECTION_STRING>";
	options.ContainerName = "my-container";
});

Examples

Listing files with a prefix

var files = await storage.GetFiles("invoices/");
foreach (var file in files) Console.WriteLine(file.Name);

Get a temporary access URL

var url = await storage.GetTemporalyUrl(fileId, TimeSpan.FromMinutes(15));
if (url != null) Console.WriteLine(url);

Get file metadata

var props = await storage.GetFileMetadata(fileId);
Console.WriteLine(props?.ContentType);

Copy or move files

await storage.CopyFile("source.txt", "copy.txt");
await storage.MoveFile("temp.txt", "archive/temp.txt");

Set and get tags

await storage.SetFileTags(fileId, new Dictionary<string,string>{{"owner","team-a"}});
var tags = await storage.GetFileTags(fileId);

Configuration

Configure provider options using the AzureBlobConfiguration (or AzureBlobConfiguration<TId>) passed to the UseAzureBlob extension. Typical options include connection string and container name. See the source configuration type for full details.

API

  • IAzureBlobService — convenience interface using Guid identifiers
  • IAzureBlobService<TId> — primary interface exposing file operations for a generic identifier type

Support & Contributing

Report issues or request features on the GitHub repository. Contributions are welcome via pull requests; please follow the repository coding and contribution guidelines.

License

This project is licensed under the terms in the LICENSE file in the repository.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 57 9/8/2026