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

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