Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Object Storage
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Бакеты
      • Создание бакета
      • Удаление бакета
      • Ограничение максимального размера бакета
      • Открытие публичного доступа к бакету
      • Шифрование бакета
      • Управление жизненными циклами объектов
      • Управление конфигурацией CORS
      • Управление политикой доступа
      • Управление версионированием бакета
      • Редактирование ACL бакета
      • Включение механизма логированния
    • Объекты
      • Загрузка объекта
      • Получение информации об объекте
      • Скачивание объекта
      • Получение публичной ссылки на объект
      • Удаление объекта
      • Удаление всех объектов
      • Удаление частично загруженного объекта
      • Редактирование ACL объекта
    • Хостинг статических сайтов
      • Настройка хостинга
      • Поддержка собственного домена
      • Поддержка нескольких доменных имен
      • Настройка HTTPS
  • Практические руководства
    • Получение статистики запросов к объекту с использованием S3 Select
    • Получение cтатистики посещения сайта с использованием S3 Select
    • Формирование отчета по ресурсной детализации расходов с использованием S3 Select
    • Шифрование на стороне сервера
    • Интеграция L7-балансировщика с CDN и Object Storage
    • Сине-зеленое и канареечное развертывание версий сервиса
    • Анализ логов с использованием DataLens
  • Концепции
    • Обзор
    • Бакет
    • Объект
    • Версионирование бакета
    • Жизненные циклы объектов
    • CORS
    • Хостинг статических сайтов
    • Подписанные (pre-signed) URL
    • Составная (multipart) загрузка
    • Список управления доступом (ACL)
    • Политика доступа (Bucket Policy)
    • Загрузка файла через HTML-форму
    • Класс хранилища
    • Механизм логирования действий с бакетом
    • Резервное копирование
    • Протокол TLS
    • Язык запросов S3 Select
    • Квоты и лимиты
  • Инструменты
    • Все инструменты
    • Консольные клиенты
      • AWS CLI
      • S3cmd
    • Файловые браузеры
      • CyberDuck
      • WinSCP
    • SDK
      • AWS SDK для Java
      • Python SDK (boto)
      • AWS SDK для .NET
      • AWS SDK для C++
      • AWS SDK для PHP
      • AWS SDK для Go
    • FUSE
      • GeeseFS
      • s3fs
      • goofys
    • FTP
      • Docker-контейнер для (S)FTP(S)
  • Справочник API
    • REST (совместимый с Amazon S3)
      • Как пользоваться API
      • Подписывание запросов
      • REST
        • Все сервисы и методы
        • Bucket
          • Все методы
          • create
          • getBucketEncryption
          • getMeta
          • listObjects
          • listBuckets
          • deleteBucket
          • deleteBucketEncryption
          • putBucketEncryption
          • putBucketVersioning
          • getBucketVersioning
          • putBucketLogging
          • getBucketLogging
          • listObjectVersions
        • Object
          • Все методы
          • upload
          • get
          • copy
          • getObjectMeta
          • delete
          • deleteMultipleObjects
          • options
          • selectObjectContent
        • Multipart upload
          • Общий порядок составной загрузки
          • startUpload
          • uploadPart
          • copyPart
          • listParts
          • abortUpload
          • completeUpload
          • listUploads
        • Static Website Hosting
          • Все методы
          • upload
          • get
          • delete
          • Коды ответов статического сайта
        • CORS
          • Все методы
          • XML-структура конфигурации CORS
          • upload
          • get
          • delete
        • Lifecycles
          • Все методы
          • XML-структура конфигурации жизненных циклов
          • upload
          • get
          • delete
        • ACL
          • Все методы
          • XML-структура конфигурации ACL
          • objectGetAcl
          • objectPutAcl
          • bucketGetAcl
          • bucketPutAcl
        • Bucket Policy
          • Все методы
          • GetBucketPolicy
          • PutBucketPolicy
          • DeleteBucketPolicy
          • Схема данных
          • Действия
          • Условия
        • Общие заголовки запросов
        • Общие заголовки ответов
        • Ответы
    • gRPC и REST
      • Аутентификация в API
      • gRPC (англ.)
        • Overview
        • BucketService
        • OperationService
      • REST (англ.)
        • Overview
        • Bucket
          • Overview
          • create
          • delete
          • deleteHTTPSConfig
          • get
          • getHTTPSConfig
          • getStats
          • list
          • setHTTPSConfig
          • update
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
  • Вопросы и ответы
  1. Инструменты
  2. Консольные клиенты
  3. AWS CLI

AWS Command Line Interface (AWS CLI)

Статья создана
Yandex.Cloud
,
улучшена
Gayrat V.
  • Подготовка к работе
  • Установка
  • Настройка
    • Конфигурационные файлы
  • Особенности
  • Примеры операций
    • Создать бакет
    • Загрузить объекты
    • Получить список объектов
    • Удалить объекты
    • Получить объект

AWS CLI — это интерфейс командной строки для работы с сервисами AWS. Общий порядок вызова команд смотрите в официальной документации Amazon.

Для работы с Object Storage с помощью AWS CLI вы можете использовать следующие наборы команд:

  • s3api — команды, соответствующие операциям в REST API. Перед использованием ознакомьтесь с перечнем поддерживаемых операций.
  • s3 — дополнительные команды, упрощающие работу с большим количеством объектов.

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

  1. Создайте сервисный аккаунт.
  2. Назначьте нужную роль сервисному аккаунту. Подробнее о ролях см. в документации Identity and Access Management.
  3. Создайте статический ключ доступа.

Установка

Для установки AWS CLI воспользуйтесь инструкцией на сайте производителя.

Настройка

Для настройки AWS CLI используйте команду aws configure. Команда запросит значения для следующих параметров:

  1. AWS Access Key ID — введите идентификатор ключа, который вы получили при генерации статического ключа.

  2. AWS Secret Access Key — введите секретный ключ, который вы получили при генерации статического ключа.

  3. Default region name — введите значение ru-central1.

    Примечание

    Для работы с Object Storage всегда указывайте регион — ru-central1. Другие значения региона могут привести к ошибке авторизации.

  4. Значения остальных параметров оставьте без изменений.

Конфигурационные файлы

В результате своей работы команда aws configure сохранит настройки в файлах:

  • Статический ключ в .aws/credentials в формате:

    [default]
      aws_access_key_id = id
      aws_secret_access_key = secretKey
    
  • Регион по умолчанию в .aws/config в формате:

    [default]
      region=ru-central1
    

Особенности

При использовании AWS CLI для работы с Object Storage учитывайте следующие особенности этого инструмента:

  • AWS CLI работает с Object Storage как с иерархической файловой системой и ключи объектов имеют вид пути к файлу.

  • При запуске команды aws для работы с Object Storage обязателен параметр --endpoint-url, поскольку по умолчанию клиент настроен на работу с серверами Amazon. Чтобы не указывать параметр вручную при каждом запуске, создайте псевдоним (alias), например:

    alias ycs3='aws s3 --endpoint-url=https://storage.yandexcloud.net'
    

    С таким псевдонимом будут равносильны, например, две следующие команды:

    aws s3 --endpoint-url=https://storage.yandexcloud.net ls
    ycs3 ls
    

    Чтобы псевдоним создавался при каждом запуске терминала, добавьте команду alias в конфигурационный файл ~/.bashrc или ~/.zshrc, в зависимости от типа используемой оболочки.

  • При работе в macOS, в некоторых случаях требуется запуск вида:

    export PYTHONPATH=/Library/Python/2.7/site-packages; aws --endpoint-url=https://storage.yandexcloud.net s3 ls
    

Примеры операций

Примечание

Для включения отладочного вывода в консоли используйте ключ --debug.

Создать бакет

aws --endpoint-url=https://storage.yandexcloud.net s3 mb s3://bucket-name

Примечание

При создании бакета помните об ограничениях на имя.

Загрузить объекты

Загрузить объекты можно разными способами, например:

  • Загрузить все объекты из локальной директории:

    aws --endpoint-url=https://storage.yandexcloud.net \
      s3 cp --recursive local_files/ s3://bucket-name/path_style_prefix/
    
  • Загрузить объекты, описанные в фильтре --include, и пропустить объекты, описанные в фильтре --exclude:

    aws --endpoint-url=https://storage.yandexcloud.net \
      s3 cp --recursive --exclude "*" --include "*.log" \
      local_files/ s3://bucket-name/path_style_prefix/
    
  • Загрузить объекты по одному, запуская для каждого объекта команду следующего вида:

    aws --endpoint-url=https://storage.yandexcloud.net \
      s3 cp testfile.txt s3://bucket-name/path_style_prefix/textfile.txt
    

Получить список объектов

aws --endpoint-url=https://storage.yandexcloud.net \
  s3 ls --recursive s3://bucket-name

Удалить объекты

Удалить объекты можно разными способами, например:

  • Удалить все объекты с заданным префиксом:

    aws --endpoint-url=https://storage.yandexcloud.net \
      s3 rm s3://bucket-name/path_style_prefix/ --recursive
    
  • Удалить объекты, описанные в фильтре --include, и пропустить объекты, описанные в фильтре--exclude:

    aws --endpoint-url=https://storage.yandexcloud.net \
      s3 rm s3://bucket-name/path_style_prefix/ --recursive \
        --exclude "*" --include "*.log"
    
  • Удалить объекты по одному, запуская для каждого объекта команду следующего вида:

    aws --endpoint-url=https://storage.yandexcloud.net \
      s3 rm s3://bucket-name/path_style_prefix/textfile.txt
    

Получить объект

aws --endpoint-url=https://storage.yandexcloud.net \
  s3 cp s3://bucket-name/textfile.txt textfile.txt

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

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Подготовка к работе
  • Установка
  • Настройка
  • Конфигурационные файлы
  • Особенности
  • Примеры операций
  • Создать бакет
  • Загрузить объекты
  • Получить список объектов
  • Удалить объекты
  • Получить объект