Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Object Storage
    • Все инструменты
      • Все SDK
      • AWS SDK для Java
      • AWS SDK для JavaScript
      • AWS SDK для Python (boto)
      • AWS SDK для .NET
      • AWS SDK для C++
      • AWS SDK для PHP
      • AWS SDK для Go
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Подготовка к работе
  • Установка
  • Настройка
  • Изменение эндпоинта
  1. Инструменты
  2. SDK
  3. AWS SDK для Java

AWS SDK для Java

Статья создана
Yandex Cloud
Обновлена 7 марта 2025 г.
  • Подготовка к работе
  • Установка
  • Настройка
  • Изменение эндпоинта

AWS SDK для Java — это комплект средств разработки для работы с сервисами AWS, совместимый с Yandex Object Storage.

С помощью AWS SDK для Java вы создадите бакет, загрузите в него объекты, очистите содержимое бакета и удалите бакет.

Подготовка к работеПодготовка к работе

  1. Создайте сервисный аккаунт.

  2. Назначьте сервисному аккаунту роли, которые нужны для вашего проекта, например storage.editor на бакет — для работы с конкретным бакетом, или на каталог — для работы со всеми бакетами в каталоге. Подробнее о ролях см. на странице Управление доступом с помощью Yandex Identity and Access Management.

    Чтобы работать с объектами в зашифрованном бакете, у пользователя или сервисного аккаунта вместе с ролью storage.configurer должны быть следующие роли на ключ шифрования:

    • kms.keys.encrypter — для чтения ключа, шифрования и загрузки объектов;
    • kms.keys.decrypter — для чтения ключа, расшифровки и скачивания объектов;
    • kms.keys.encrypterDecrypter — включает разрешения, предоставляемые ролями kms.keys.encrypter и kms.keys.decrypter.

    Подробнее см. Сервисные роли Key Management Service.

  3. Создайте статический ключ доступа.

    В результате вы получите данные статического ключа доступа. Для аутентификации в Object Storage вам понадобятся:

    • key_id — идентификатор статического ключа доступа;
    • secret — секретный ключ.

    Сохраните key_id и secret, так как повторное получение значения ключа будет невозможно.

Примечание

Сервисный аккаунт может просматривать список бакетов только в том каталоге, в котором он был создан.

Сервисный аккаунт может выполнять действия с объектами в бакетах, которые созданы в каталогах, отличных от каталога сервисного аккаунта. Для этого назначьте сервисному аккаунту роли на нужный каталог или бакет в нем.

УстановкаУстановка

Важно

31 декабря 2025 года прекращается поддержка AWS SDK для Java версии 1.x. Чтобы продолжать получать новые функции и обновления безопасности, рекомендуется перейти на AWS SDK для Java версии 2.x.

AWS SDK v2.x
AWS SDK v1.x
  1. Установите Java.

  2. Установите Apache Maven для сборки проекта.

  3. Создайте проект согласно инструкции из документации AWS.

    Ниже приведена структура созданного проекта:

    getstarted
    ├── README.md
    ├── pom.xml
    └── src
        ├── main
        │   ├── java
        │   │   └── org
        │   │       └── example
        │   │           ├── App.java
        │   │           ├── DependencyFactory.java
        │   │           └── Handler.java
        │   └── resources
        │       └── simplelogger.properties
        └── test
            └── java
                └── org
                    └── example
                        └── HandlerTest.java
    
    10 directories, 7 files
    
  4. Внесите изменения в код проекта согласно инструкции из документации AWS.

Для установки AWS SDK для Java v.1.x воспользуйтесь инструкцией на сайте производителя.

НастройкаНастройка

  1. Создайте директорию для хранения аутентификационных данных и перейдите в нее:

    Для macOS и Linux:

    mkdir ~/.aws/
    

    Для Windows:

    mkdir C:\Users\<имя_пользователя>\.aws\
    
  2. В директории .aws создайте файл credentials и скопируйте в него аутентификационные данные, полученные ранее:

    [default]
    aws_access_key_id = <идентификатор_статического_ключа>
    aws_secret_access_key = <секретный_ключ>
    
  3. Создайте файл config с параметрами региона по умолчанию и скопируйте в него следующую информацию:

    [default]
    region = ru-central1
    endpoint_url = https://storage.yandexcloud.net
    

    Примечание

    Некоторые приложения, предназначенные для работы с Amazon S3, не позволяют указывать регион, поэтому Object Storage принимает также значение us-east-1.

Для доступа к Object Storage используйте эндпоинт https://storage.yandexcloud.net.

Изменение эндпоинтаИзменение эндпоинта

AWS SDK v2.x
AWS SDK v1.x
  1. В директории /src/main/java/org/example откройте файл DependencyFactory.java и измените класс DependencyFactory:

    public class DependencyFactory {
        private DependencyFactory() {}
        public static S3Client s3Client() {
            return S3Client.builder()
            .endpointOverride(URI.create("https://storage.yandexcloud.net"))
            .httpClientBuilder(ApacheHttpClient.builder())
            .build();
        }
    }
    
  2. Запустите код согласно инструкции из документации AWS.

Другие примеры использования AWS SDK для Java вы можете найти в репозитории с примерами.

В директории aws-java-sdk/samples/AmazonS3 в архиве с дистрибутивом SDK находится код, который нужно изменить.

Чтобы подключиться к Object Storage замените в примере код:

AmazonS3 s3 = AmazonS3ClientBuilder.standard()
    .withCredentials(new AWSStaticCredentialsProvider(credentials))
    .withRegion("us-west-2")
    .build();

на

AmazonS3 s3 = AmazonS3ClientBuilder.standard()
    .withCredentials(new AWSStaticCredentialsProvider(credentials))
    .withEndpointConfiguration(
        new AmazonS3ClientBuilder.EndpointConfiguration(
            "storage.yandexcloud.net","ru-central1"
        )
    )
    .build();

Другие примеры использования AWS SDK для Java вы можете найти в репозитории с примерами.

Была ли статья полезна?

Предыдущая
Все SDK
Следующая
AWS SDK для JavaScript
Проект Яндекса
© 2025 ООО «Яндекс.Облако»