SquidStd.Storage.Abstractions
0.8.0
dotnet add package SquidStd.Storage.Abstractions --version 0.8.0
NuGet\Install-Package SquidStd.Storage.Abstractions -Version 0.8.0
<PackageReference Include="SquidStd.Storage.Abstractions" Version="0.8.0" />
<PackageVersion Include="SquidStd.Storage.Abstractions" Version="0.8.0" />
<PackageReference Include="SquidStd.Storage.Abstractions" />
paket add SquidStd.Storage.Abstractions --version 0.8.0
#r "nuget: SquidStd.Storage.Abstractions, 0.8.0"
#:package SquidStd.Storage.Abstractions@0.8.0
#addin nuget:?package=SquidStd.Storage.Abstractions&version=0.8.0
#tool nuget:?package=SquidStd.Storage.Abstractions&version=0.8.0
<p align="center"> <img src="https://raw.githubusercontent.com/tgiachi/squid-std/main/assets/icon.png" alt="SquidStd" width="120" height="120" /> </p>
<h1 align="center">SquidStd.Storage.Abstractions</h1>
<p align="center"> <a href="https://www.nuget.org/packages/SquidStd.Storage.Abstractions/"><img src="https://img.shields.io/nuget/v/SquidStd.Storage.Abstractions.svg" alt="NuGet" /></a> <img src="https://img.shields.io/nuget/dt/SquidStd.Storage.Abstractions.svg" alt="Downloads" /> <a href="https://tgiachi.github.io/squid-std/articles/storage-abstractions.html"><img src="https://img.shields.io/badge/docs-DocFX-1390A3.svg" alt="docs" /></a> <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" /> </p>
Backend-agnostic storage contracts for SquidStd. It defines the binary blob store (IStorageService),
the typed object store (IObjectStorageService), key enumeration (ListKeysAsync), and StorageConfig.
Pick a backend implementation (local file or S3/MinIO) from a companion package.
Install
dotnet add package SquidStd.Storage.Abstractions
Features
IStorageService— binary blobs by key:SaveAsync/LoadAsync/DeleteAsync/ExistsAsync/ListKeysAsync.IObjectStorageService— typed objects by key (serialized by the provider) with the same surface plusListKeysAsync.ListKeysAsync(prefix?)— streams stored keys asIAsyncEnumerable<string>, optionally filtered by prefix.StorageConfig— root-directory configuration for file-backed storage.
Usage
using SquidStd.Storage.Abstractions.Interfaces;
// Resolve IStorageService from a backend package (file or S3).
public async Task DumpKeysAsync(IStorageService storage)
{
await foreach (var key in storage.ListKeysAsync("profiles/"))
{
Console.WriteLine(key);
}
}
Key types
| Type | Purpose |
|---|---|
IStorageService |
Binary blob store (save/load/delete/exists/list). |
IObjectStorageService |
Typed object store over a blob backend. |
StorageConfig |
Root directory for file storage. |
License
MIT — part of SquidStd.
| 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
- SquidStd.Core (>= 0.8.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on SquidStd.Storage.Abstractions:
| Package | Downloads |
|---|---|
|
SquidStd.Services.Core
Package Description |
|
|
SquidStd.Storage
Package Description |
|
|
SquidStd.Storage.S3
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.