File Store

Description

File stores register through IFlexFileStore (and optional IFlexFileStoreWithUrls / IFlexFileStoreWithDirectories). Your application code stays provider-agnostic while AWS S3, Azure Blob, and GCP Cloud Storage handle object storage.

Configuration in DI

Register only the provider.

// Pick ONE
services.AddFlexAwsS3FileStore(configuration);
// services.AddFlexAzureBlobFileStore(configuration);
// services.AddFlexGcpCloudStorageFileStore(configuration);

appsettings.json

File store configuration is read from FlexBase:DataStores:File:<Provider>.

{
  "FlexBase": {
    "DataStores": {
      "File": {
        "AwsS3": {
          "AccessKeyId": "<store-in-secrets>",
          "SecretAccessKey": "<store-in-secrets>",
          "Region": "us-east-1"
        }
      }
    }
  }
}

Sample usage ({YourApplication})

Provider pages

  • AWS S3: file-store/aws-s3.md

  • Azure Blob: file-store/azure-blob.md

  • GCP Cloud Storage: file-store/gcp-cloud-storage.md

Provider considerations

  • Treat container as bucket/container/root folder, and path as a forward-slash key.

  • Keep credentials in secrets.

Last updated