Plinth.Storage.AWS
1.5.4
Prefix Reserved
See the version list below for details.
dotnet add package Plinth.Storage.AWS --version 1.5.4
NuGet\Install-Package Plinth.Storage.AWS -Version 1.5.4
<PackageReference Include="Plinth.Storage.AWS" Version="1.5.4" />
paket add Plinth.Storage.AWS --version 1.5.4
#r "nuget: Plinth.Storage.AWS, 1.5.4"
// Install Plinth.Storage.AWS as a Cake Addin #addin nuget:?package=Plinth.Storage.AWS&version=1.5.4 // Install Plinth.Storage.AWS as a Cake Tool #tool nuget:?package=Plinth.Storage.AWS&version=1.5.4
README
Plinth.Storage.AWS
Storage Provider for Plinth.Storage to write blob data to AWS S3
Enables storing the blob data used by Plinth.Storage in AWS S3
This package adds these extension methods to Plinth.Storage.StorageFactory
to utilize S3
storageFactory.AddS3Provider(new S3Settings()
{
BucketName = "my-s3-bucket",
S3Url = "https://s3.us-west-1.amazonaws.com",
ClientId = "{aws-client-id}",
ClientSecret = "{aws-client-secret}"
});
storageFactory.SetDefaultWriteProviderAsS3();
Index Strategies
By default, this will write blobs to the root of the container. There are 2 other built in options for further segmenting the blobs. To use these, set DefaultIndexStrategy
in S3Settings
DefaultIndexStrategy.ByDate
This will place the blobs in a sub folder with the current date as /YY/MM/DD/{blobId}
DefaultIndexStrategy.ByDateTime
This will place the blobs in a sub folder with the current date and current hour as /YY/MM/DD/HH/{blobId}
Alternatively, a custom indexing strategy can be provided. For example, the below will place the blobs under a folder named the first character of the blob's guid.
new S3Settings()
{
...
CustomIndexStrategy = blob => $"{blob.Guid!.ToString()![0]}"
}
Backup Bucket
By default, blobs will be written to the bucket specified. This library supports writing a backup to other buckets
To enable, use storageFactory.AddBackupS3Provider(settings)
with a complete S3Settings
object. Blobs will be written to the bucket specified (using the primary index).
IAM Authentication
If you prefer not to supply the ClientId/ClientSecret but instead use the IAM authentication available on AWS infrastructure, set UseSystemAuth
to true
in S3Settings
instead.
File Extensions
By default, the blobs will a file extension in blob storage which come from the blob name field. This allows for browsers to more easily download those files directly.
To disable this, set DisableBlobExtensions
to true
in S3Settings
and the blobs will not have a file extension.
Public Access
By default, S3 blobs are private and require authentication to access. If anonymous access to the files is desired, set AllowPublicRead
to true
in S3Settings
to enable Public Read access to the blobs. You must also enable public access at the bucket level for this to work.
Product | Versions 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 is compatible. 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 was computed. 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. |
-
net6.0
- AWSSDK.S3 (>= 3.7.103.19)
- Microsoft.SourceLink.Bitbucket.Git (>= 1.1.1)
- Plinth.Storage (>= 1.5.4)
-
net7.0
- AWSSDK.S3 (>= 3.7.103.19)
- Microsoft.SourceLink.Bitbucket.Git (>= 1.1.1)
- Plinth.Storage (>= 1.5.4)
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.7.0 | 61 | 11/12/2024 |
1.6.6 | 76 | 11/8/2024 |
1.6.5 | 90 | 8/31/2024 |
1.6.4 | 54 | 8/2/2024 |
1.6.3 | 79 | 5/15/2024 |
1.6.2 | 121 | 2/16/2024 |
1.6.1 | 1,326 | 1/5/2024 |
1.6.0 | 197 | 11/30/2023 |
1.5.10-b186.aca976b4 | 70 | 11/30/2023 |
1.5.9 | 161 | 11/29/2023 |
1.5.9-b174.64153841 | 77 | 11/23/2023 |
1.5.9-b172.dfc6e7bd | 70 | 11/17/2023 |
1.5.9-b171.4e2b92e2 | 75 | 11/4/2023 |
1.5.8 | 173 | 10/23/2023 |
1.5.7 | 514 | 7/31/2023 |
1.5.6 | 1,322 | 7/13/2023 |
1.5.5 | 202 | 6/29/2023 |
1.5.4 | 768 | 3/7/2023 |
1.5.3 | 291 | 3/3/2023 |
1.5.2 | 351 | 1/11/2023 |
1.5.2-b92.7c961f5f | 118 | 1/11/2023 |
1.5.0 | 517 | 11/9/2022 |
1.5.0-b88.7a7c20cd | 100 | 11/9/2022 |
1.4.7 | 585 | 10/20/2022 |
1.4.6 | 628 | 10/17/2022 |
1.4.5 | 463 | 10/1/2022 |
1.4.4 | 576 | 8/16/2022 |
1.4.3 | 445 | 8/2/2022 |
1.4.2 | 489 | 7/19/2022 |
1.4.2-b80.7fdbfd04 | 132 | 7/19/2022 |
1.4.2-b74.acaf86f5 | 120 | 6/15/2022 |
1.4.1 | 514 | 6/13/2022 |
1.4.0 | 481 | 6/6/2022 |
1.3.8 | 892 | 4/12/2022 |
1.3.7 | 480 | 3/21/2022 |
1.3.6 | 504 | 3/17/2022 |
1.3.6-b67.ca5053f3 | 141 | 3/16/2022 |
1.3.6-b66.4a9683e6 | 128 | 3/16/2022 |
1.3.5 | 490 | 2/23/2022 |
1.3.4 | 569 | 1/20/2022 |
1.3.3 | 494 | 12/29/2021 |
1.3.2 | 508 | 12/11/2021 |
1.3.1 | 379 | 11/12/2021 |
1.3.0 | 385 | 11/8/2021 |
1.2.3 | 1,543 | 9/22/2021 |
1.2.2 | 417 | 8/20/2021 |
1.2.1 | 433 | 8/5/2021 |
1.2.0 | 447 | 8/1/2021 |
1.2.0-b37.a54030b9 | 160 | 6/24/2021 |
1.1.6 | 461 | 3/22/2021 |
1.1.5 | 389 | 3/9/2021 |
1.1.4 | 480 | 2/27/2021 |
1.1.3 | 436 | 2/17/2021 |
1.1.2 | 410 | 2/12/2021 |
1.1.1 | 747 | 2/1/2021 |
1.1.0 | 484 | 12/16/2020 |
1.1.0-b27.b66c309b | 282 | 11/15/2020 |
1.0.12 | 555 | 10/18/2020 |
1.0.11 | 502 | 10/6/2020 |
1.0.10 | 471 | 9/30/2020 |
1.0.9 | 462 | 9/29/2020 |
1.0.8 | 643 | 9/26/2020 |
1.0.7 | 628 | 9/19/2020 |
1.0.6 | 537 | 9/3/2020 |
1.0.5 | 723 | 9/2/2020 |
1.0.4 | 687 | 9/1/2020 |
1.0.3 | 533 | 9/1/2020 |
1.0.2 | 553 | 8/29/2020 |
1.0.1 | 559 | 8/29/2020 |
1.0.0 | 530 | 8/29/2020 |
1.0.0-b1.c22f563d | 239 | 8/28/2020 |
net7.0 support and removed netcoreapp3.1