Использование AWS CLI для работы с S3

1.Создание S3-бакета

 

2.Просмотр списка бакетов

 

3.Просмотр списка всех объектов(файлов) и каталогов(префиксов) в бакете

Просмотр списка всех объектов(файлов) и каталогов(префиксов) в конкретном каталоге(префиксе) бакета

Рекурсивный просмотр содержания всего бакета

Просмотр значения размера, занимаемого бакетом

 

4.Работа с объектами(файлами) в S3

Команды aws s3 {cp,mv,sync} требуют определения двух аргументов – путей источника и назначения.
Как источником,так и назначением, могут выступать локальный каталог/файл, S3-бакет/S3-префикс(каталог в бакете)/S3-объект(файл в бакете/в каталоге бакета)
S3Uri может иметь вид:

Копировать локальный файл в S3-бакет

Копировать локальный файл в S3-бакет в каталог folder1

Просмотр расположения скопированных файлов

Удалить файл myfile3.jpg из каталога folder1 в бакете mydemobucket11

Проверка фактического удаления

Удаление каталога folder1/ и всего его содержимого(рекурсивное удаление) с бакета mydemobucket11

Перемещение локального файла в S3-бакет в определенный каталог(префикс)

Просмотр содержимого бакета(рекурсивно)

Копирование с S3-бакета на локальный ПК в каталог /tmp всех файлов с расширением .pdf и .json

Перемещение с S3-бакета на локальный ПК в каталог /tmp всех файлов с расширением .txt

Порядок параметров —exclude и —include важен.
Параметр, который указан последним имеет приоритет
Например
Будут исключены все файлы, кроме файлов с расширением .txt

Будут исключены все файлы

По умолчанию, если не указывать эти параметры, то включаются все файлы (это равносильно указанию последним параметра —include ‘*’ )

Поддерживаются следующие шаблоны символов:

Опция —grant
Команды aws s3 {cp,mv,sync} поддерживают опцию —grant, которая позволяет предоставить разрешения на объекты определенным пользователям/группам

Синтаксис опции —grant

Permission – определяет вид разрешения.
Может принимать значения

Grantee_Type – определяет тип/способ идентификации получателя разрешения
Может принимать значение

Grantee_ID – определяет получателя на основании Grantee_Type

Например, скопироваь файл file1.txt в бакет и предоставим доступ к этому файлу
А) для всех только чтение
Б) для пользователя с адресом myemail@gmail.com – полный доступ

По умолчанию используется стандартный(Standart)класс хранения данных
Если необходимо использовать другие типа хранения (REDUCED_REDUNDANCY или STANDARD_IA),то используется опция —storage-class
Например

 

Команда sync
Команда sync используется для синхронизации данных
Исходник-назначение при этом могут выступать

Синтаксис команды sync

Обычно sync копирует только файлы, которые отсутствуют или изменились на принимающей стороне. Если необходимо удалять файлы на принимающей стороне, которые отсутствуют/были удалены на отправляющей стороне, то используем опцию —delete

Удалим файл с локальной файловой системы

Синхронизируем S3-бакет с локальным каталогом demo

Аналогично,при удалении файла с S3-бакета для удаления его на локальной файловой систему используем опцию –delete

Параметры —exclude —include используются и работают так же, как описано выше для команд cp,mv

Sync команда также,как и команды cp,mv, принимает параметр —acl, с помощью которого можно установить права доступа для файлов,загружаемых в S3
Опция —acl принимает значения

Например, создадим новый файл с публичным доступом на чтение в каталоге demo и выполним синхронизацию каталога demo с каталогом folder6 в S3-бакете mydemobucket11

Теперь файл file88.txt в s3://mydemobucket11/folder6/ будет доступен для всех на чтение

 

5.Удаление бакета

Удаление пустого бакета

Удаление непустого бакета

 

Источник:  http://docs.aws.amazon.com/cli/latest/userguide/using-s3-commands.html

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика