9 команд AWS S3 с примерами для управления корзиной и данными

Опубликовано: 2022-03-15

Контроль и управление данными может быть сложной задачей. Эти команды AWS S3 помогут вам быстро и эффективно управлять корзинами и данными AWS S3.

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

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

Если вы использовали S3 в своем проекте, вы должны знать, что, учитывая огромную емкость хранилища, управление сотнями сегментов и терабайтами данных в этих сегментах может быть сложной задачей. У нас есть список команд AWS S3 с примерами, которые можно использовать для эффективного управления корзинами и данными AWS S3.

Настройка интерфейса командной строки AWS

После того, как вы успешно загрузили и установили интерфейс командной строки AWS, вам необходимо настроить учетные данные AWS, чтобы получить доступ к вашей учетной записи AWS и сервисам. Давайте быстро рассмотрим, как настроить интерфейс командной строки AWS.

Первый шаг — создать пользователя с программным доступом к учетной записи AWS. Не забудьте установить этот флажок при создании пользователя для AWS CLI.

Дайте разрешения и создайте пользователя. На последнем экране после того, как вы успешно создали этого пользователя, скопируйте идентификатор ключа доступа и секретный ключ доступа для этого пользователя. Мы будем использовать эти учетные данные для входа через интерфейс командной строки AWS.

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

 настроить aws

При появлении запроса введите идентификатор ключа доступа и секретный ключ доступа. Выберите любой регион AWS по вашему выбору и формат вывода команды. Я лично предпочитаю использовать формат JSON. Это не имеет большого значения, вы всегда можете изменить эти значения позже.

Теперь вы можете запустить любую команду AWS CLI в консоли. Давайте теперь рассмотрим команды AWS S3.

ср

Команда cp просто копирует данные в корзины S3 и из них. Его можно использовать для копирования файлов из локального хранилища в S3, из S3 в локальное хранилище и между двумя корзинами S3. Есть много других параметров, которые вы можете указать в командах.

Например, параметр -dryrun для проверки команды, параметр –storage-class для указания класса хранения ваших данных в S3, другие параметры для установки шифрования и многое другое. Команда cp дает вам полный контроль над настройкой безопасности данных в S3.

Применение

 aws s3 cp <ИСТОЧНИК> <НАЗНАЧЕНИЕ> [--options]

Примеры

Скопируйте данные с локального на S3

 aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt

Скопируйте данные с S3 на локальный

 aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt

Копировать данные между корзинами S3

 aws s3 cp s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

Скопируйте данные с локального на S3 — IA

 aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA

Скопируйте все данные из локальной папки на S3

 aws s3 cp ./local_folder s3://bucket_name --рекурсивный

лс

Команда ls используется для вывода списка сегментов или их содержимого. Итак, если вы просто хотите просмотреть информацию о своих корзинах или данных в этих корзинах, вы можете использовать команду ls.

Применение:

 aws s3 ls NONE или <BUCKET_NAME> [--options]

Примеры

Список всех сегментов в учетной записи

 авс s3 лс

Выход:
2022-02-02 18:20:14 BUCKET_NAME_1
20.03.2022, 13:12:43 BUCKET_NAME_2
2022-03-29 10:52:33 BUCKET_NAME_3

Эта команда выводит список всех корзин в вашей учетной записи с датой создания корзины.

Список всех объектов верхнего уровня в сегменте

 aws s3 ls BUCKET_NAME_1 или s3://BUCKET_NAME_1 

Выход:
                           PRE образецPrefix/
2021-12-09 12:23:20 8754 file_1.png
2021-12-09 12:23:21 1290 file_2.json
2021-12-09 12:23:21 3088 file_3.html

Эта команда выводит список всех объектов верхнего уровня в корзине S3. Обратите внимание, что здесь не показаны объекты с префиксом samplePrefix/, а только объекты верхнего уровня.

Перечислите все объекты в ведре

 aws s3 ls BUCKET_NAME_1 или s3://BUCKET_NAME_1 --рекурсивный

Выход:
2021-12-09 12:23:20 8754 file_1.png
2021-12-09 12:23:21 1290 file_2.json
2021-12-09 12:23:21 3088 file_3.html
2021-12-09 12:23:20 16328 samplePrefix/file_1.txt
2021-12-09 12:23:20 29325 samplePrefix/sampleSubPrefix/file_1.css

Эта команда выводит список всех объектов в корзине S3. Обратите внимание, что здесь также отображаются объекты с префиксом samplePrefix/ и всеми подпрефиксами.

мб

Команда mb просто используется для создания новых корзин S3. Это довольно простая команда, но для создания новых сегментов имя нового сегмента должно быть уникальным для всех сегментов S3.

Применение

 aws s3 МБ <BUCKET_NAME>

Пример

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

 aws s3 mb myUniqueBucketName --region eu-west-1

мв

Команда mv просто перемещает данные в корзины S3 и обратно. Как и команда cp, команда mv используется для перемещения данных из локального хранилища в S3, из S3 в локальное хранилище или между двумя корзинами S3.

Единственная разница между командой mv и cp заключается в том, что при использовании команды mv файл удаляется из источника. AWS перемещает этот файл в место назначения. Есть много параметров, которые вы можете указать с помощью команды.

Применение

 aws s3 mv <ИСТОЧНИК> <НАЗНАЧЕНИЕ> [--options]

Примеры

Переместить данные с локального на S3

 aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt

Переместить данные с S3 на локальный

 aws s3 mv s3://bucket_name/file_name_2.txt file_name.txt

Перемещайте данные между корзинами S3

 aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

Перенос данных с локального на S3 — IA

 aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA

Переместите все данные из префикса в S3 в локальную папку.

 aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive

предписывать

Команда presign создает предварительно подписанный URL-адрес для ключа в корзине S3. Вы можете использовать эту команду для создания URL-адресов, которые могут использоваться другими для доступа к файлу в указанном ключе корзины S3.

Применение

aws s3 presign <OBJECT_KEY> – истекает через <TIME_IN_SECONDS>

Пример

Создайте предварительно подписанный URL-адрес, действительный в течение 1 часа для объекта в корзине.

 aws s3 presign s3://bucket_name/samplePrefix/file_name.png --expires-in 3600

Выход:
https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW%2F20220314%2Fap-south-1% 2Fs3%2Faws4_request&X-Amz-Date=20220314T054113Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=f14608bbf3e1f9f8d215eb5b439b87e169b1051bcd7a35c1a35c1

рб

Команда rb просто используется для удаления сегментов S3.

Применение

 aws rb <BUCKET_NAME>

Пример

Удалите корзину S3.

 aws s3 мб myBucketName
# Эта команда завершается ошибкой, если в этой корзине есть какие-либо данные.

Удалите корзину S3 вместе с данными в корзине S3.

 aws s3 mb myBucketName --force

г.м.

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

Применение

 aws s3 rm <S3Uri_To_The_File>

Примеры

Удалите один файл из корзины S3.

 aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt

Удалите все файлы с определенным префиксом в корзине S3.

 aws s3 rm s3://bucket_name/sample_prefix --рекурсивный

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

 aws s3 rm s3://bucket_name --рекурсивный

синхронизировать

Команда sync копирует и обновляет файлы из источника в место назначения так же, как и команда cp. Важно, чтобы мы понимали разницу между cp и командой sync. Когда вы используете cp, он копирует данные из источника в место назначения, даже если данные уже существуют в месте назначения.

Он также не удалит файлы из места назначения, если они будут удалены из источника. Однако синхронизация просматривает место назначения перед копированием ваших данных и копирует только новые и обновленные файлы. Команда sync аналогична фиксации и отправке изменений в удаленную ветку в git. Команда синхронизации предлагает множество параметров для настройки команды.

Применение

 aws s3 sync <ИСТОЧНИК> <НАЗНАЧЕНИЕ> [--options]

Примеры

Синхронизировать локальную папку с S3

 синхронизация aws s3 ./local_folder s3://bucket_name

Синхронизируйте данные S3 с локальной папкой

 синхронизация aws s3 s3://bucket_name ./local_folder

Синхронизация данных между двумя корзинами S3

 синхронизация aws s3 s3://bucket_name s3://bucket_name_2

Перемещайте данные между двумя корзинами S3, исключая все файлы .txt.

 синхронизация aws s3 s3://bucket_name s3://bucket_name_2 --exclude "*.txt

Веб-сайт

Вы можете использовать корзины S3 для размещения статических веб-сайтов. Команда веб-сайта используется для настройки хостинга статического веб-сайта S3 для вашей корзины.

Вы указываете индекс и файлы ошибок, и S3 дает вам URL-адрес, по которому вы можете просмотреть файл.

Применение

 веб-сайт aws s3 <S3_URI> [--options]

Пример:

Настройте статический хостинг для корзины S3 и укажите файлы индекса и ошибок.

 веб-сайт aws s3 s3://bucket_name --index-document index.html --error-document error.html

Вывод

Я надеюсь, что приведенное выше дало вам представление о некоторых часто используемых командах AWS S3 для управления сегментами. Если вы хотите узнать больше, вы можете ознакомиться с информацией о сертификации AWS.