Skip to content

Добавлен пример на .NET 10#3

Open
axtox wants to merge 33 commits into
timeweb-cloud:masterfrom
axtox:master
Open

Добавлен пример на .NET 10#3
axtox wants to merge 33 commits into
timeweb-cloud:masterfrom
axtox:master

Conversation

@axtox

@axtox axtox commented Jun 8, 2025

Copy link
Copy Markdown

Описание

Добавлен пример использования Amazon S3 SDK для работы с S3-хранилищем Timeweb Cloud на платформе .NET. Пример демонстрирует основные операции с объектным хранилищем, включая создание и удаление бакетов, загрузку и скачивание файлов, а также работу с метаданными объектов. Проект сопровождается подробной инструкцией по запуску через CLI, Docker и Visual Studio Code.

Мотивация

Изначально вызван особенностями работы TimeWeb S3 с новыми версиями AWS SDK (как выяснилось, PutObject с latest 4.x AWS.SDK не работали с TimeWeb S3) которые вызвали трудности в подключении на современных стеках (предположительно влияющие на интеграцию с разными языками, а не только .NET)
На момент Июля 2026 ситуация полностью решена и пакет официального клиента AWS SDK обновлен до самой актуальной версии, пример показывает как работать с ним в Timeweb S3 на dotnet 10

Что сделано

  • Использована самая актуальная версия AWS SDK (<=4.0.100) для корректной работы с Timeweb Cloud S3
  • Реализован консольный пример на .NET 10 (sample.cs), демонстрирующий работу с S3 API Timeweb Cloud через официальный AWS SDK, точно также как в других примерах в этом репозитории
  • Поддержка конфигурации через переменные окружения и файл .env (используется DotNetEnv).
  • Добавлены основные операции:
    • Регион бакета
    • Список бакетов
    • Отправка текста в файл
    • Отправка файла
    • Получение списка файловы
    • Скачивание файла
    • Получение метаданных файла
    • Копирование файла
    • Присвоение тега файлу
    • Получение информации о тегах в файле
    • Создание правил жизненного цикла файлов (правила по тегу, по названию папок)
    • Получение правил жизненного цикла файлов
    • Удаление всех тегов файла
    • Удаление правил жизненного цикла файлов
    • Удаление всех файлов
    • Удаление бакета
  • Для вывода результатов операций используется форматированный JSON с помощью Spectre.Console.Json.
  • Добавлены обработчики ошибок для всех операций.
  • Оформлена документация по запуску и использованию примера (см. README.md).
  • Пример поддерживает запуск через dotnet CLI, Docker и Visual Studio Code tasks.

Тикет

#4

Copilot AI review requested due to automatic review settings June 30, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new .NET 10 example to the repository, demonstrating core Amazon S3 (Timeweb Cloud S3-compatible) operations via the AWS SDK, along with run instructions for CLI, Docker, and VS Code tasks.

Changes:

  • Added a C# direct-file sample (dotnet/src/sample.cs) covering bucket/object operations, tagging, and lifecycle rules with JSON-formatted output.
  • Added .NET-specific documentation and environment configuration templates (dotnet/README.md, .env.example), plus VS Code tasks and ignore files.
  • Added a root README link to the new .NET example folder.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
README.md Adds a link to the new .NET example section.
dotnet/src/sample.cs Implements the .NET S3 sample showcasing common API operations and formatted output.
dotnet/src/.env.example Provides an example .env template for S3 credentials/config.
dotnet/README.md Documents how to run the sample via CLI, Docker, and VS Code tasks.
dotnet/Dockerfile Adds a multi-stage Docker build for the sample.
dotnet/.gitignore Ensures build artifacts and .env are not committed.
dotnet/.dockerignore Attempts to exclude .env from Docker build context.
.vscode/tasks.json Adds tasks to run locally and build/run via Docker from VS Code.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread dotnet/src/sample.cs Outdated
Comment thread dotnet/src/sample.cs Outdated
Comment thread dotnet/src/sample.cs Outdated
Comment thread dotnet/src/sample.cs Outdated
Comment thread dotnet/README.md Outdated
Comment thread dotnet/README.md Outdated
Comment thread dotnet/README.md Outdated
Comment thread dotnet/README.md Outdated
Comment thread .vscode/tasks.json
Comment thread dotnet/src/.env.example Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants