Expero.Libraries.CSharp.ObjectStorage.S3 2.3.0-beta.27470
Expero.Libraries.CSharp.ObjectStorage.S3
Пакет для работы c S3-like ObjectStorage.
Пакет содержит:
- Сервис для работы c S3-like ObjectStorage
- Health метрика для работы c S3-like ObjectStorage
Работа с IObjectStorageS3Service
Пример подключения:
services.AddMdsObjectStorageS3Service(s =>
{
var credentials = //...
s.Host = credentials.Host; // Хост для подключеня
s.Ssl = credentials.Ssl; // Используем ли мы SSL для работы
s.AccessKey = credentials.AccessKey; // AccessKey для подключеня
s.SecretKey = credentials.SecretKey; // SecretKey для подключеня
s.DefaultBucket = credentials.DefaultBucket; // Какой бакет будет использоваться для проверки подключения и для загрузки файлов по умолчанию
});
Рекоменудуем подключать на уровне Core.Tools, и там же положить фабрику для имен бакетов, если планируется использовать несколько бакетов для работы.
Например, вот так:
public static class ObjectStorageBuckets
{
// NB: Имена необходимо указывать в lowercase
public static ObjectStorageS3BucketName Default { get; } = new("default");
public static ObjectStorageS3BucketName Feeds { get; } = new("feeds");
}
Директории
При сохранении файлов в бакет, библиотека позволяет прописать директорию внутри бакета, если директория не существует, то она будет создана.
Например, если нам нужно сохранить какой-либо контент в бакет по директории dir/sub_dir/sub_sub_dir/, то код будет выглядеть так:
// Для сохранения можно использовать следующий метод из IObjectStorageS3Service
Task<FileUploadResult> IObjectStorageS3Service.UploadAsync(byte[] content, UploadParameters parameters);
Пример использования:
IObjectStorageS3Service _objectStorage; // получаем через DI
var parameters = new UploadParameters
{
Bucket = new ObjectStorageS3BucketName("my-test-bucket"),
Directory = "dir/sub_dir/sub_sub_dir/",
FileName = "may-test-image.png"
};
var result = await _objectStorage.UploadAsync(content, parameters);
Showing the top 20 packages that depend on Expero.Libraries.CSharp.ObjectStorage.S3.
| Packages | Downloads |
|---|---|
|
Expero.Libraries.CSharp.Logging
Пакет для работы с логированием.
|
1 |
.NET 7.0
- AWSSDK.S3 (>= 3.7.104.4)
- Mds.Libraries.CSharp.Abstractions (>= 2.0.1)
- Mds.Libraries.CSharp.Extensions (>= 2.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 7.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 7.0.0)
| Version | Downloads | Last updated |
|---|---|---|
| 2.6.1 | 1 | 02/28/2026 |
| 2.6.0 | 1 | 02/28/2026 |
| 2.5.3-beta.58518 | 1 | 02/28/2026 |
| 2.5.3-beta.57288 | 1 | 02/28/2026 |
| 2.5.2 | 1 | 02/28/2026 |
| 2.5.0 | 1 | 02/28/2026 |
| 2.5.0-beta.34859 | 1 | 02/28/2026 |
| 2.5.0-beta.33792 | 1 | 02/28/2026 |
| 2.4.0 | 1 | 02/28/2026 |
| 2.4.0-beta.33162 | 1 | 02/28/2026 |
| 2.3.0 | 1 | 02/28/2026 |
| 2.3.0-beta.33748 | 1 | 02/28/2026 |
| 2.3.0-beta.27470 | 1 | 02/28/2026 |
| 2.3.0-beta.19871 | 1 | 02/28/2026 |
| 2.2.0 | 1 | 02/28/2026 |
| 2.2.0-beta.11069 | 1 | 02/28/2026 |
| 2.2.0-beta.11067 | 1 | 02/28/2026 |
| 2.1.0 | 1 | 02/28/2026 |
| 2.0.0 | 1 | 02/28/2026 |
| 1.3.0-beta.9026 | 1 | 02/28/2026 |
| 1.2.0 | 1 | 02/28/2026 |
| 1.1.0 | 1 | 02/28/2026 |
| 1.1.0-beta.7640 | 1 | 02/28/2026 |
| 1.0.0 | 1 | 02/28/2026 |
| 1.0.0-beta.7635 | 1 | 02/28/2026 |
| 1.0.0-beta.7633 | 1 | 02/28/2026 |