Migration Guide - robinrodricks/FluentStorage GitHub Wiki
All methods are async by now. The old goal of supporting sync and async makes no sense since all cloud transfer APIs are async and the handful of edge cases like local memory storage and local disk storage do not matter. So we droped "Async" in all API names.
One factory class per provider is the new standard:
AwsS3StorageAwsSqsStorageBackblazeB2StorageCloudflareR2StorageDigitalOceanSpacesStorageHetznerStorageMinlOStorageVultrStorageWasabiStorageAzureBlobStoreAzureDataLakeStoreAzureFilesStoreAzureKeyVaultStorageAzureQueueStorageAzureServiceBusGoogleCloudStorageFtpStorageSftpStorage
Extension methods are no longer required as a means for users to call functions within the factory classes. Henceforth, users can directly access to the factory classes:
-
StorageFactory.Blobs.AwsS3->AwsS3Storage.FromCredentials -
StorageFactory.Blobs.CloudflareR2->CloudflareR2Storage.FromCredentials
Collections returned by APIs will always be List instead of IReadOnlyCollection.
The entire FluentStorage API surface was redesigned from scratch to keep it meaningful, simple and consistent.
- All projects have been organized into folders.
- Exceptions moved into the
FluentStorage.ExceptionsNS - Enums moved into the
FluentStorage.EnumsNS
The following libraries have been deprecated and deleted from our codebase, reducing the maintenance effort and helping us focus on the important parts of our offering.
| Package | Reason | |
|---|---|---|
| FluentStorage.Databricks | We will no longer maintain this package because DBFS is not a mainstream storage backend for a storage abstraction library. | |
| FluentStorage.Azure.EventHub | Due to low community usage, we will no longer maintain this library. | |
| FluentStorage.Azure.DataLake | We are no longer maintaining this package as it only caters to DataLake Gen 1, which has been superseded by DataLake Gen2. Gen1 is considered a legacy service and is no longer the direction Microsoft recommends for new development. | |
| FluentStorage.Azure.ServiceFabric | We will no longer maintain this package because ServiceFabric is not a first-class object storage or messaging service, which is outside our current scope, and it also has extremely low community usage. |
Change your NuGet packages and your imports using this mapping:
| Old name | New name |
|---|---|
| Storage.Net | FluentStorage |
| Storage.Net.Amazon.Aws | FluentStorage.AWS |
| Storage.Net.Gcp.CloudStorage | FluentStorage.GCP |
| Storage.Net.Databricks | No longer supported |
| Storage.Net.Ftp | FluentStorage.FTP |
| Storage.Net.Microsoft.Azure.Storage.Blobs | FluentStorage.Azure.Blobs |
| Storage.Net.Microsoft.Azure.Storage.Files | FluentStorage.Azure.Files |
| Storage.Net.Microsoft.Azure.EventHub | No longer supported |
| Storage.Net.Microsoft.Azure.ServiceBus | FluentStorage.Azure.ServiceBus |
| Storage.Net.Microsoft.Azure.KeyVault | FluentStorage.Azure.KeyVault |
| Storage.Net.Microsoft.Azure.ServiceFabric | No longer supported |
| Storage.Net.Microsoft.Azure.Queues | FluentStorage.Azure.Queues |
| Storage.Net.Microsoft.Azure.DataLake.Storage.Gen1 | No longer supported |