Plinth.Storage 1.6.6

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Plinth.Storage --version 1.6.6                
NuGet\Install-Package Plinth.Storage -Version 1.6.6                
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="Plinth.Storage" Version="1.6.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plinth.Storage --version 1.6.6                
#r "nuget: Plinth.Storage, 1.6.6"                
#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.
// Install Plinth.Storage as a Cake Addin
#addin nuget:?package=Plinth.Storage&version=1.6.6

// Install Plinth.Storage as a Cake Tool
#tool nuget:?package=Plinth.Storage&version=1.6.6                

README

Plinth.Storage

A framework for reliably and securely storing large binary objects (BLOBs)

Provides a framework for abstracting storage of large objects/files. Supports storing the data in a database, on the file system, AWS S3, or Azure Blobs. An index table is maintained in the database with references to the underlying data storage. Also supports encryption and compression if desired.

  • Plinth.Storage - the main engine, supports database and file system storage
  • Plinth.Storage.MsSql - Install this when using Microsoft SQL Server for the index
  • Plinth.Storage.PgSql - Install this when using PostgreSQL for the index
  • Plinth.Storage.AWS - Install for AWS S3 support
  • Plinth.Storage.Azure - Install for Azure Blob support

Example setting up Blob Storage to write to S3 with Encryption (Startup.cs)

// Startup.cs in ConfigureServices
ISecureData secureData = new SecureData(key);

var factory = new StorageFactory(secureData, BlobFeatures.Encrypted);
factory.AddS3Provider(new S3Settings()
  {
      BucketName = "my-bucket",
      ClientId = "...",
      ClientSecret = "...",
      S3Url = "https://s3-us-west-2.amazonaws.com"
  });
factory.SetDefaultWriteProviderAsS3();
services.AddSingleton(factory);

In controller or manager with ISqlConnection and StorageFactory as injected or created parameters

var blobStorage = storageFactory.Get(connection, callingUser);

var blob = await blobStorage.ReadBlobAsync(blobGuid);

var newBlob = new Blob() { ... }
var newBlobGuid = await blobStorage.CreateNewBlobAsync(newBlob);
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Plinth.Storage:

Package Downloads
Plinth.Storage.AWS

Plinth AWS Provider for Blob Storage

Plinth.Storage.Azure

Plinth Azure Providers for Blob Storage

Plinth.Storage.MSSql

SQL Server driver for Plinth.Storage

Plinth.Storage.PgSql

PostgreSQL driver for Plinth.Storage

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.7.1 173 12/12/2024
1.7.0 153 11/12/2024
1.6.6 144 11/8/2024
1.6.5 193 8/31/2024
1.6.4 100 8/2/2024
1.6.3 167 5/15/2024
1.6.2 196 2/16/2024
1.6.1 1,792 1/5/2024
1.6.0 277 11/30/2023
1.5.10-b186.aca976b4 74 11/30/2023
1.5.9 217 11/29/2023
1.5.9-b174.64153841 85 11/23/2023
1.5.9-b172.dfc6e7bd 67 11/17/2023
1.5.9-b171.4e2b92e2 86 11/4/2023
1.5.8 280 10/23/2023
1.5.7 690 7/31/2023
1.5.6 1,519 7/13/2023
1.5.5 341 6/29/2023
1.5.4 1,270 3/7/2023
1.5.3 560 3/3/2023
1.5.2 682 1/11/2023
1.5.2-b92.7c961f5f 131 1/11/2023
1.5.0 913 11/9/2022
1.5.0-b88.7a7c20cd 112 11/9/2022
1.4.7 1,493 10/20/2022
1.4.6 1,421 10/17/2022
1.4.5 1,344 10/1/2022
1.4.4 1,464 8/16/2022
1.4.3 1,320 8/2/2022
1.4.2 1,366 7/19/2022
1.4.2-b80.7fdbfd04 137 7/19/2022
1.4.2-b74.acaf86f5 128 6/15/2022
1.4.1 1,385 6/13/2022
1.4.0 1,381 6/6/2022
1.3.8 1,815 4/12/2022
1.3.7 1,386 3/21/2022
1.3.6 1,408 3/17/2022
1.3.6-b67.ca5053f3 139 3/16/2022
1.3.6-b66.4a9683e6 125 3/16/2022
1.3.5 1,410 2/23/2022
1.3.4 1,479 1/20/2022
1.3.3 977 12/29/2021
1.3.2 996 12/11/2021
1.3.1 876 11/12/2021
1.3.0 880 11/8/2021
1.2.3 2,112 9/22/2021
1.2.2 944 8/20/2021
1.2.1 942 8/5/2021
1.2.0 975 8/1/2021
1.2.0-b37.a54030b9 159 6/24/2021
1.1.6 998 3/22/2021
1.1.5 926 3/9/2021
1.1.4 1,001 2/27/2021
1.1.3 955 2/17/2021
1.1.2 970 2/12/2021
1.1.1 1,329 2/1/2021
1.1.0 976 12/16/2020
1.1.0-b27.b66c309b 288 11/15/2020
1.0.12 1,555 10/18/2020
1.0.11 1,048 10/6/2020
1.0.10 1,092 9/30/2020
1.0.9 1,001 9/29/2020
1.0.8 1,187 9/26/2020
1.0.7 1,152 9/19/2020
1.0.6 1,077 9/3/2020
1.0.5 1,349 9/2/2020
1.0.4 1,212 9/1/2020
1.0.3 1,125 9/1/2020
1.0.2 1,168 8/29/2020
1.0.1 1,100 8/29/2020
1.0.0 1,083 8/29/2020
1.0.0-b1.c22f563d 249 8/28/2020

net8.0 support