CloudRu.ObjectStorageHelper
2.0.0
dotnet add package CloudRu.ObjectStorageHelper --version 2.0.0
NuGet\Install-Package CloudRu.ObjectStorageHelper -Version 2.0.0
<PackageReference Include="CloudRu.ObjectStorageHelper" Version="2.0.0" />
paket add CloudRu.ObjectStorageHelper --version 2.0.0
#r "nuget: CloudRu.ObjectStorageHelper, 2.0.0"
// Install CloudRu.ObjectStorageHelper as a Cake Addin #addin nuget:?package=CloudRu.ObjectStorageHelper&version=2.0.0 // Install CloudRu.ObjectStorageHelper as a Cake Tool #tool nuget:?package=CloudRu.ObjectStorageHelper&version=2.0.0
CloudRu.ObjectStorageHelper
ObjectStorageService для Cloud.ru
ObjectStorageService - это .NET библиотека для удобного взаимодействия с Object Storage сервиса Cloud.ru. Библиотека предоставляет простой и интуитивно понятный интерфейс для выполнения основных операций с объектным хранилищем.
Основные возможности
- Создание, переименование, и удаление папок
- Загрузка, скачивание и удаление файлов
- Получение списка папок и файлов
- Простой в использовании асинхронный API
Установка
Установите пакет ObjectStorageService через NuGet Package Manager:
NuGet\Install-Package CloudRu.ObjectStorageHelper -Version 2.0.0
Или через .NET CLI:
dotnet add package CloudRu.ObjectStorageHelper --version 2.0.0
Использование
Вот пример базового использования библиотеки:
С помощью Builder() :
var s3Client = new S3ClientBuilder()
.WithTenantId("YOUR_TENANT_ID")
.WithAccessKey("YOUR_ACCESS_KEY")
.WithSecretKey("YOUR_SECRET_KEY")
.WithBucketName("YOUR_BUCKET_NAME")
.Build();
var folders = await s3Client.ListFoldersAsync();
foreach (var folder in folders)
{
Console.WriteLine(folder);
}
С помощью конструктора :
using ObjectStorageService;
// Инициализация сервиса
var service = new ObjectStorageService(
"your_access_key", // здесь accessKey - это строка, состоящая из: <tenantId:accessKey>
"your_secret_key",
"your-bucket-name"
);
// Создание папки
await service.CreateFolderAsync("my-folder");
// Загрузка файла
await service.UploadFileAsync("my-folder", "path/to/local/file.txt");
// Получение списка файлов в папке
var files = await service.ListFilesInFolderAsync("my-folder");
// Скачивание файла
using (var fileStream = await service.GetFileAsync("my-folder", "file.txt"))
{
// Работа с файловым потоком
}
// Удаление файла
await service.DeleteFileAsync("my-folder", "file.txt");
Документация
Подробную документацию по всем доступным методам можно (будет) найти в Wiki проекта.
Требования
.NET8 AWSSDK.S3 (3.7.0 или выше)
Лицензия
Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.
Вклад в проект
Мы приветствуем вклад в развитие проекта! Пожалуйста, ознакомьтесь с нашим руководством по внесению изменений перед тем, как отправлять pull request.
Поддержка
Если у вас возникли проблемы или есть предложения по улучшению библиотеки, пожалуйста, создайте issue в GitHub репозитории проекта.
Авторы
Благодарности
Спасибо команде Cloud.ru за отличный сервис Object Storage.
Библиотека использует AWSSDK.S3 для взаимодействия с S3-совместимым API
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- AWSSDK.S3 (>= 4.0.0-preview.4)
- SimpleLoggerByAlgmironov (>= 1.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- исправлена проблема с подписью: добавлен параметр AuthenticationRegion согласно изменениям в api Cloud.ru
- добавлен Builder для более удобного создания клиента