IBeam.Storage.Abstractions
2.9.0
dotnet add package IBeam.Storage.Abstractions --version 2.9.0
NuGet\Install-Package IBeam.Storage.Abstractions -Version 2.9.0
<PackageReference Include="IBeam.Storage.Abstractions" Version="2.9.0" />
<PackageVersion Include="IBeam.Storage.Abstractions" Version="2.9.0" />
<PackageReference Include="IBeam.Storage.Abstractions" />
paket add IBeam.Storage.Abstractions --version 2.9.0
#r "nuget: IBeam.Storage.Abstractions, 2.9.0"
#:package IBeam.Storage.Abstractions@2.9.0
#addin nuget:?package=IBeam.Storage.Abstractions&version=2.9.0
#tool nuget:?package=IBeam.Storage.Abstractions&version=2.9.0
IBeam.Storage.Abstractions
IBeam.Storage.Abstractions contains provider-agnostic blob/object storage contracts for IBeam applications.
dotnet add package IBeam.Storage.Abstractions
When To Use This
- You need services to save and read files without knowing the storage provider.
- You want the same service code to work with Azure Blob Storage, S3, local disk, or a custom provider.
- You are building a storage provider package.
What This Package Contains
| Type | Purpose |
|---|---|
IBlobStorageService |
Common interface for saving, reading, existence checks, deletion, and URL generation. |
BlobStorageException |
Consistent storage exception type for provider failures. |
Architecture Fit
Storage is an infrastructure dependency used by services. Services should decide when files are written or deleted, then call IBlobStorageService. APIs should not put file business rules directly in controllers.
Code Example
public sealed class ProductImageService
{
private readonly IBlobStorageService _storage;
public ProductImageService(IBlobStorageService storage)
{
_storage = storage;
}
public async Task SaveImageAsync(Guid tenantId, Guid productId, Stream image, CancellationToken ct)
{
await _storage.SaveAsync(
containerName: $"tenant-{tenantId:N}",
blobName: $"products/{productId:N}/image.jpg",
content: image,
contentType: "image/jpeg",
overwrite: true,
ct: ct);
}
}
Methods
| Method | Purpose |
|---|---|
SaveAsync |
Writes a blob/object, optionally preventing overwrite. |
GetAsync |
Reads a blob/object into a byte array. |
OpenReadAsync |
Opens a readable stream without forcing byte-array materialization. |
ExistsAsync |
Checks whether a blob/object exists. |
DeleteAsync |
Deletes a blob/object, optionally ignoring missing files. |
GetBlobUrl |
Returns the provider URL/path for a blob/object. |
Data Storage
This package does not create containers, buckets, directories, or tables. Provider packages own physical storage behavior.
| Provider Package | Backing Store |
|---|---|
IBeam.Storage.AzureBlobs |
Azure Blob Storage |
IBeam.Storage.S3 |
AWS S3 or S3-compatible storage |
IBeam.Storage.FileSystem |
Local or mounted file system |
Service Operations, Auditing, And Permissions
File writes/deletes should normally be initiated by service methods that are tagged with [IBeamOperation]. The storage provider should stay focused on object IO and should not own business authorization rules.
Extended Docs And Agent Guidance
- AI prompt:
.agent/prompt.md - Root implementation guide:
../.agent/implementation-guide.md - Service logging and audit:
../docs/service-logging-and-audit.md - Service operation permissions:
../docs/service-operation-permissions.md
Version Notes
- Targets
net10.0. - Package version is assigned by the repository release workflow.
| 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
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on IBeam.Storage.Abstractions:
| Package | Downloads |
|---|---|
|
IBeam.Storage.S3
IBeam modular framework components for .NET APIs and services. |
|
|
IBeam.Storage.AzureBlobs
IBeam modular framework components for .NET APIs and services. |
|
|
IBeam.Storage.FileSystem
IBeam modular framework components for .NET APIs and services. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.9.0 | 0 | 7/21/2026 |
| 2.8.2 | 0 | 7/21/2026 |
| 2.8.1 | 0 | 7/21/2026 |
| 2.8.0 | 0 | 7/21/2026 |
| 2.7.0 | 31 | 7/21/2026 |
| 2.6.0 | 52 | 7/20/2026 |
| 2.5.0 | 65 | 7/17/2026 |
| 2.4.2 | 70 | 7/16/2026 |
| 2.4.1 | 88 | 7/14/2026 |
| 2.4.0 | 142 | 6/24/2026 |
| 2.3.0 | 142 | 6/24/2026 |
| 2.2.0 | 146 | 6/23/2026 |
| 2.1.0 | 146 | 6/23/2026 |
| 2.0.68 | 137 | 6/23/2026 |
| 2.0.66 | 131 | 6/22/2026 |
| 2.0.65 | 136 | 6/22/2026 |
| 2.0.64 | 137 | 6/17/2026 |
| 2.0.63 | 140 | 6/16/2026 |
| 2.0.62 | 142 | 6/16/2026 |
| 2.0.57 | 142 | 6/8/2026 |