Шпаргалка по командам AWS S3 CLI: Все, что вам нужно знать

AWS S3 — один из самых популярных сервисов AWS на сегодняшний день. Это высокодоступное, долговечное и экономически эффективное объектное хранилище в облаке AWS.

Как вы знаете, вы можете создавать и управлять своими ведрами S3 с помощью различных инструментов, таких как консоль AWS, CLI, CloudFormation и т.д. . Однако ничто не сравнится с AWS CLI, когда дело доходит до управления вашим ведром.

Выполнить команду CLI легко и быстро.

В этом посте мы рассмотрим несколько наиболее важных команд S3 CLI, которые могут помочь вам при работе с S3.

Советуем прочитать: 5 способов создания и управления ресурсами на AWS

Необходимые условия

Прежде чем использовать AWS CLI для управления вашим ведром, вам необходимо установить CLI на вашей машине и настроить его, используя ваши учетные данные (ключ доступа/секретный ключ).

Вот пошаговое руководство, как это сделать — Как установить и настроить AWS CLI в вашей системе

Примечание: Если вы не используете CLI на регулярной основе и просто хотите протестировать несколько команд, есть более быстрый вариант из самой консоли AWS. Вы можете использовать AWS CloudShell, который показан на скриншоте ниже. Нажмите на значок терминала в верхнем меню вашей учетной записи AWS, и откроется готовый к использованию терминал. В этом терминале уже установлен CLI и настроены ваши учетные данные.

Рекомендуем прочитать: Все, что вам нужно знать о AWS CloudShell — вашем CLI на основе браузера

Базовый обзор S3 и CLI с S3

Прежде чем приступить к работе с командами CLI, нам необходимо знать несколько основных терминов AWS S3.

  • Ведро (Bucket): Это контейнер верхнего уровня, в котором вы храните свои объекты.
  • Объекты: Любой элемент, который хранится в ведре S3.
  • Префикс: Любая папка, которая находится в вашем ведре.

Вы используете команду aws s3 CLI для создания и управления вашим ведром s3 и объектами.

Вот как выглядит основной синтаксис.

aws s3 <Command> [<Arg> ...]

Вы можете использовать несколько аргументов, например —region, —recursive, —profile и т.д.

Команды или операции, которые вы можете использовать (скопировано из документации AWS)

  • cp
  • ls
  • mb
  • mv
  • назначить
  • rb
  • rm
  • синхронизировать
  • сайт

Вы можете использовать cp, mv и rm для одного объекта или всех объектов под ведром или префиксом, используя опцию —recursive.

Шпаргалка по командам AWS S3 CLI

  1. Создать ведро
  2. Перечислить все ведра
  3. Перечислить содержимое ведра
  4. Копировать файлы в S3 и из S3
  5. Узнать количество объектов и общий размер ведра
  6. Сгенерировать URL-адрес с предварительной подписью для объекта
  7. Переместить файл в ведро S3 или из него
  8. Синхронизировать ведро S3 с другим ведром или локальным каталогом и наоборот
  9. Удалить файл из ведра
  10. Удалить все файлы из ведра
  11. Удаление ведра

1. Создание ведра

Для создания ведра используется команда mb. mb означает make bucket.

Создать ведро в регионе по умолчанию

aws s3 mb s3://bucket-name

Вышеприведенная команда создает ведро в регионе по умолчанию, настроенном в вашем CLI. Если вы хотите создать ведро в определенном регионе, укажите —region, как показано ниже.

Создать ведро в определенном регионе

aws s3 mb s3://mybucket --region us-west-1

Пример —

aws s3 mb s3://cloudkatha-cli-bucket

Примечание: Обратите внимание, что имена ведер S3 уникальны во всем мире. Поэтому если вы создадите ведро с именем ‘abc’, никто другой не сможет создать ведро с таким же именем даже в любой другой учетной записи. Поэтому всегда выбирайте уникальное имя, характерное для вашего бизнеса, например, я добавил cloudkatha в имя своего ведра. Таким образом, оно уникально для меня.

Рекомендуемое чтение: Вот почему имя ведра S3 уникально во всем мире

2. Вывести список всех ведер

Команда s3 ls выводит список всех ведер в вашей учетной записи AWS, если у вас есть на это права.

aws s3 ls

Как видно на скриншоте ниже, она показывает все ведра в моем аккаунте.

3. Перечислить содержимое ведра

Перечисляет содержимое ведра. В идеале здесь перечислены все объекты и префиксы внутри ведра.

aws s3 ls s3://bucket-name

Например.

aws s3 ls s3://demo-talk-with-anu

Примечание: Обратите внимание, что команда ls по умолчанию перечисляет только объекты внутри папки, но не вложенные папки, поэтому если вы хотите перечислить их все, используйте следующую команду.

aws s3 ls s3://demo-talk-with-anu --recursive

Как вы заметили, мы добавили опцию —recursive к предыдущей команде.

4. Копирование файлов в S3 и из S3

Мы используем команду s3 cp для копирования одного или нескольких объектов в ведро S3 и из него.

Копирование одного файла из локального хранилища в S3

aws s3 cp localPath s3://bucket-name

Например.

aws s3 cp sample.txt s3://demo-talk-with-anu

Копирование одного файла из S3 в локальный

aws s3 cp s3://bucket-name/filename.txt ./

например.

aws s3 cp s3://demo-talk-with-anu/sample.txt ./

Здесь sample.txt копируется в текущий рабочий каталог.

Копирование одного файла из S3 в S3

aws s3 cp s3://bucket-name/example s3://my-bucket/

Пример-

aws s3 cp s3://demo-talk-with-anu/index.html s3://techtalk-with-preeti/

Копирование нескольких объектов из одного ведра S3 в другое

Копирует все объекты в s3://bucket-name/example в другое ведро.

aws s3 cp s3://bucket-name/example s3://my-bucket/

Например.

aws s3 cp s3://demo-talk-with-anu/website s3://techtalk-with-preeti/

В идеале вы можете создать свою собственную комбинацию источника и назначения и копировать объекты в или из ведра s3.

5. Выяснение количества объектов и общего размера ведра

Выяснение общего размера ведра — довольно полезная команда, которая иногда бывает необходима. Вы можете использовать команду s3 ls с опциями —recursive, —summarize и —human-readable, как показано ниже.

aws s3 ls s3://bucket-name --recursive --summarize --human-readable

Например.

aws s3 ls s3://demo-talk-with-anu --recursive --summarize --human-readable

Как вы можете видеть выше, общее количество объектов и общий размер также возвращаются в удобном для чтения формате.

6. Генерация URL-адреса с предварительной подписью для объекта

Вы можете использовать предварительно подписанный URL для предоставления доступа к объекту S3. Вы также можете использовать опцию --expires-in, чтобы указать, когда истекает срок действия предписанного URL.

По умолчанию это 3600 секунд, а максимум — 604800 секунд.

aws s3 presign s3://bucket-name/filename.html

Пример —

aws s3 presign s3://demo-talk-with-anu/index.html

Примечание: Как вы можете заметить на скриншоте выше, AMz-Expires = 3600 показано, так как это значение по умолчанию. Вы можете указать собственное значение, например.

aws s3 presign s3://demo-talk-with-anu/index.html --expires-in 604800

7. Перемещение файла в или из ведра S3

Для перемещения объекта или файла используется команда s3 mv. Команда s3 mv перемещает локальный файл или объект S3 в другое место локально или в S3.

aws s3 mv source destination

Пример —

aws s3 mv sample.txt s3://mybucket/test2.txt

Примечание: Как и ожидалось от команды move, эта команда перемещает объект/файл в место назначения и удаляет/удаляет его из источника.

8. Синхронизация ведра S3 с другим ведром или локальной директорией и наоборот

Вы можете синхронизировать локальную папку с s3, префикс s3 с локальной папкой или папку s3 с другой папкой s3.

В приведенном ниже фрагменте синтаксиса указаны все параметры источника и назначения.

  sync <LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>

Например.

aws s3 sync s3://mybucket .

с помощью приведенной выше команды все содержимое mybucket будет загружено в текущий каталог.

Синхронизация двух ведер mybucket1 и mybucket2

aws s3 sync s3://mybucket1 s3://mybucket2

9. Удаление файла из ведра

Вы можете удалить файл из ведра s3 с помощью команды s3 rm. Синтаксис выглядит следующим образом.

aws s3 rm s3://bucket-name/filename

Например.

aws s3 rm s3://demo-talk-with-anu/index.html

10. Удалить все файлы из ведра

Как мы видели в предыдущем примере, мы использовали команду s3 rm для удаления файла. Однако, если вы хотите удалить все объекты, даже присутствующие во вложенных папках, вы можете, как обычно, использовать опцию —recursive.

aws s3 rm s3://mybucket --recursive

Пример —

aws s3 rm s3://demo-talk-with-anu --recursive

11. Удаление ведра

Для удаления ведра можно использовать команду s3 rb. rb здесь означает remove bucket.

Удаление пустого ведра:

aws s3 rb s3://bucket-name

Как вы уже знаете, если вы попытаетесь удалить пустое ведро, все пройдет хорошо, но если вы попытаетесь удалить ведро, в котором есть некоторые объекты, приведенная выше команда не выполнится.

Если вы хотите удалить ведро с объектами, используйте опцию —force. Использование опции —force в команде сначала удалит все объекты и префиксы, а затем удалит ведро.

Удаление ведра с объектами

aws s3 rb s3://bucket-name --force

Пример

aws s3 rb s3://demo-talk-with-anu --force 

Как видно на скриншоте выше, сначала выполняются три операции удаления, а затем операция remove_bucket.

Заключение

В этом посте мы изучили некоторые наиболее используемые команды высокого уровня AWS S3 CLI для управления ведрами и объектами.

Мы также узнали, что некоторые команды, такие как cp, mv и rm могут быть использованы для одного объекта или всех объектов в ведре или префиксе с помощью опции —recursive.

Помимо этого, существует множество опций, которые вы можете использовать, например —region, —profile, —dryrun и т.д.

Надеюсь, статья была полезной для вас.

Не стесняйтесь обращаться к официальной документации для получения более подробной информации.

Ресурсы

Справочник по AWS CLI:

  • aws s3
  • aws s3 cp
  • aws s3 mb
  • aws s3 mv
  • aws s3 ls
  • aws s3 rb
  • aws s3 rm
  • aws s3 sync

Эта статья была первоначально опубликована в моем блоге CloudKatha. Вы можете ознакомиться с другими моими работами.

Надеюсь, вам понравилось читать эту статью.

Оцените статью
devanswers.ru
Добавить комментарий