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

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

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

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

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

Предпосылка

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

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

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

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

Базовый обзор S3 и интерфейса командной строки с S3

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

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

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

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

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

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

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

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

Памятка по командам AWS S3 CLI

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

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

Ты используешь мб команда для создания ведра. мб означает сделать ведро.

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

aws s3 mb s3://bucket-name

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

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

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

Пример-

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

Памятка по командам командной строки AWS S3: все, что вам нужно знать

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

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

2. Перечислите все ведро

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

aws s3 ls

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

Памятка по командам CLI AWS S3, часть 2

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

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

aws s3 ls s3://bucket-name

Например-

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

Памятка по командам CLI AWS S3, часть 3

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

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

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

4. Копировать файлы туда и обратно 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 с —рекурсивный, —подвести итог а также —человек читаемый параметры, как показано ниже.

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 или из нее

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

aws s3 mv source destination

Пример-

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

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

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, используя с3 пм команда. Вот как выглядит синтаксис-

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

Например-

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

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

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

aws s3 rm s3://mybucket --recursive

Пример-

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

11. Удалить ведро

Вы можете использовать с3 рб Команда для удаления ведра. рб здесь означает удалить ведро.

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

aws s3 rb s3://bucket-name

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

Если вы хотите удалить корзину с объектами, используйте опцию —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:

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

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