Feature: Amazon S3 Provider (ManagedCode.Storage.Aws)

Purpose

Implement IStorage on top of Amazon S3, including streaming and container (bucket) management semantics where applicable.

Main Flows

flowchart LR
  App --> S3[AWSStorage : IAWSStorage]
  S3 --> SDK[Amazon.S3 IAmazonS3]
  SDK --> S3Cloud[(Amazon S3)]

Components

DI Wiring

dotnet add package ManagedCode.Storage.Aws
using Amazon.S3;
using ManagedCode.Storage.Aws.Extensions;

builder.Services.AddAWSStorageAsDefault(options =>
{
    options.Bucket = "my-bucket";
    options.PublicKey = configuration["Aws:AccessKeyId"];
    options.SecretKey = configuration["Aws:SecretAccessKey"];
    options.OriginalOptions = new AmazonS3Config { RegionEndpoint = Amazon.RegionEndpoint.USEast1 };
});

Current Behavior

Tests