Основные операции

Основные операции

Доступ к корзинам S3

Для доступа к корзинам S3 получите следующие сведения (учетные данные):

  • DNS-имя оконечной точки S3;
  • Идентификатор ключа доступа;
  • Секретный ключ доступа.

Кибер Инфраструктура позволяет получить доступ к данным S3 через стороннее приложение S3 (Cyberduck, S3 Browser и т. п.).

Управления ACL корзин возможно путем выполнения запроса REST Amazon S3 через стороннее ПО (Postman).

Работа через CyberDuck

Создание подключения к хранилищу S3 с помощью CyberDuck

Чтобы получить доступ к S3 хранилищу с помощью CyberDuck, выполните следующие действия.

  1. В CyberDuck нажмите «Новое подключение».
  2. Укажите данные:
  • Тип – Amazon S3;
  • Сервер - доменное имя оконечной точки S3 (s3-01.slcloud.ru);
  • ID Ключа Доступа - Идентификатор ключа доступа к S3;
  • Секретный ключ доступа - Секретный ключ доступа к S3;
  • По умолчанию подключение устанавливается через протокол HTTPS.

3. Нажмите «Подключиться»

Важно! Для работы новых версий CyberDuck с S3 необходимо скачать поддержку путей для программы по адресу https://profiles.cyberduck.io/S3%20(Deprecated%20path%20style%20requests).cyberduckprofile Добавьте скаченный профиль, дважды нажав на него или выберите открыть с помощью CyberDuck. Дальнейшие подключения выполняется с установленным профилем.

Создание корзин S3 с помощью CyberDuck

  1. После того как подключение будет установлено, выберите Файл > Новая папка, чтобы создать корзину.

  2. Укажите имя для новой корзины, а затем нажмите Создать. Новая корзина появится в CyberDuck. Вы можете управлять ею и ее содержимым.

Управление версиями корзин S3 с помощью CyberDuck

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

Управление версиями корзин по умолчанию отключено. В CyberDuck его можно включить в свойствах корзины.

  1. Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Инфо»

  2. Перейти на вкладку S3 и отметить «Версионирование бакетов».

Управление правами доступа к корзине S3 с помощью CyberDuck.

Управление правами корзины позволяет предоставить доступ к корзине пользователям, существующим в Кибер Инфраструктуре сервиса S3 хранилище. Возможно установить доступ по UserID, Email address или Все пользователям S3 Кибер инфраструктура. Возможно предоставление прав: на чтение, запись или полный доступ.

  1. Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Инфо»

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

  3. После добавления пользователя определить уровень прав.

  4. Для работы с подключенной корзиной определить ее имя в разделе Path при создании подключения к S3 с помощью CyberDuck.

Работа через S3 Browser

Доступ к хранилищу S3 с помощью S3 Browser

Чтобы получить доступ к Кибер Инфраструктура с помощью S3 Browser, выполните следующие действия.

  1. В S3 Browser нажмите Accounts – Add new account.
  2. Укажите данные:
  • Display name – отображаемое имя;
  • Account type – S3 Compatible Storage;
  • REST Endpoint - доменное имя оконечной точки S3 (s3-01.slcloud.ru);
  • Access Key ID - Идентификатор ключа доступа к S3;
  • Secret Access Key - Секретный ключ доступа к S3.

3. Нажмите «Save changes». Для подключения нажмите «Account» и выберите созданное подключение.

Создание корзин S3 с помощью S3 Browser

  1. После того как подключение будет установлено, выберите +New Bucket, чтобы создать корзину.

  2. Укажите имя для новой корзины, а затем нажмите Create new bucket. Новая корзина появится в S3 Browser. Вы можете управлять ею и ее содержимым.

Управление версиями корзин S3 с помощью S3 Browser

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

Управление версиями корзин по умолчанию отключено. В S3 Browser его можно включить в свойствах корзины.

  1. Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Edit Versioning Settings»

    Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Edit Versioning Settings»

  2. В открывшемся окне отметить чек-бокс «Enable versioning for <Имя корзины>». Нажать «ОК»

    В открывшемся окне отметить чек-бокс «Enable versioning for <Имя корзины>». Нажать «ОК»

Управление правами доступа к корзине S3 с помощью S3 Browser

Управление правами корзины позволяет предоставить доступ к корзине пользователям, существующим в Кибер Инфраструктуре. Возможно установить доступ по UserID, Email address или Все пользователям S3 Кибер инфраструктура. Возможно предоставление прав: на чтение, запись или полный доступ.

  1. Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Edit Permissions (ACL)»

    Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Edit Permissions (ACL)»

  2. Нажать внизу «More» и выбрать необходимое действие: добавление или удаление пользователя.

    Нажать внизу «More» и выбрать необходимое действие: добавление или удаление пользователя

  3. После добавления пользователя определить уровень прав отметив необходимый чек-бокс.

    После добавления пользователя определить уровень прав отметив необходимый чек-бокс

  4. Для работы с подключённой корзиной нажать в верхнем меню «Add External Bucket».

    Для работы с подключённой корзиной нажать в верхнем меню Add External Bucket

Действия с бакетами S3 с помощью Postman через API.

Поддерживаемые операции скорзинами:

  • DELETE/HEAD/PUT Bucket
  • GET Bucket (вывод списка объектов)
  • GET/PUT Bucket acl
  • GET Bucket location (возвращаетВосточная часть США)
  • GET Bucket Object versions
  • GET/PUT Bucket versioning
  • GET/PUT Bucket Logging (кроме элемента запросаTargetGrants)
  • Вывод списка передач почастям

Примечание:

Сведения об операциях REST Amazon S3 см. встандарте Amazon Simple Storage Service.

Сведения о методах REST Amazon S3 см. вдокументации поAPI REST Amazon S3.

Ниже приведены примеры по редактированию прав доступа к корзинам.

GET/PUT Bucket ACL

Управление правами корзины позволяет предоставить доступ к корзине пользователям, существующим в Кибер Инфраструктуре. Возможно установить доступ по UserID, Email address или Все пользователям S3 Кибер инфраструктура. Возможно предоставление прав: на чтение, запись или полный доступ. Доступ предоставляется при выполнении запроса к внешнему адресу S3.

Запросы должны выполняться от Владельца корзины.

Запрос GET:

Создать запрос через Postman:

  • Выбрать Auth Type – AWS Signature;
  • Указать AccessKey и SecretKey;
  • В поле URL выбрать тип Get и ввести адрес подключения к S3 https://s3-01.slcloud.ru/<Имя корзины>/?acl=

Нажать «Send».

Результат запроса будет отображён в нижнем окне.

Запрос PUT:

  • Выбрать Auth Type – AWS Signature;
  • Указать AccessKey и SecretKey;
  • В поле URL выбрать тип Get и ввести адрес подключения к S3 https://s3-01.slcloud.ru/Имя корзины/?acl=
  • Создать тело запроса в следующем формате:

<?xml version="1.0" encoding="UTF-8"?>

<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">

<Owner>

<ID>e943b877e43e5104</ID>

<DisplayName>Имя владельца</DisplayName>

</Owner>

<AccessControlList>

<Grant>

<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">

<ID>ID пользователя</ID>

<DisplayName>Имя пользователя</DisplayName>

</Grantee>

<Permission>Права</Permission>

</Grant>

<Grant>

<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail">

<EmailAddress xmlns="">Имя почтового адреса</EmailAddress>

</Grantee>

<Permission>FULL_CONTROL</Permission>

</Grant>

</AccessControlList>

  • Нажать «Send»

Для проверки успешности выполнения запроса выполнить GET Bucket ACL.

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

Более подробно о запросе и правилах его формирования см. https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html

 

S3CMD

  • Установка

Для установки S3cmd в операционной системе Ubuntu используйте команду:

sudo apt install s3cmd -y

Чтобы установить S3cmd в другой ОС, ознакомьтесь сразделом установкив репозитории S3cmd на GitHub.

  • Настройка

Для настройки S3cmd используйте командуs3cmd --configure. При запросе укажите значения для следующих параметров:

  1. Access Key— введите идентификатор ключа, который вы получили при.
  2. Secret Key— введите секретный ключ, который вы получили.
  3. Default Region— оставьте без изменений.
  4. S3 Endpoint— введитеs3-01.slcloud.ru.
  5. DNS-style bucket+hostname:port template for accessing a bucket— введитеs3-01.slcloud.ru.
  6. Значения остальных параметров оставьте без изменений.

Программа попытается установить соединение с S3 и получить список бакетов. В случае успеха, программа выведетSuccess. Your access key and secret key worked fine :-).

Командаs3cmd --configureсохранит настройки в файле~/.s3cfgв формате:

[default]

access_key = id

secret_key = secretKey

bucket_location = ru-central1

host_base = storage.yandexcloud.net

host_bucket = %(bucket)s.storage.yandexcloud.net

При необходимости эти настройки можно изменить напрямую в файле. Также можно указать настройки при запуске программы с помощью соответствующих параметров.

  1. Особенности
  • S3cmd работает с Object Storage как с иерархической файловой системой и ключи объектов имеют вид пути к файлу.
  • По умолчанию S3cmd загружает объекты в стандартное хранилище. Чтобы указатькласс хранилища, при загрузке объекта используйте ключ--storage-class.
  • По умолчанию при загрузке объекта S3cmd может отправлять дополнительный заголовокX-Amz-Meta-S3cmd-Attrsс атрибутами вашего файла (права доступа, владельцы файла, временны́е метки). Значение заголовка сохраняется вметаданныхобъекта. Отключить отправку атрибутов можно с помощью параметраpreserve_attrs = Falseв конфигурационном файле~/.s3cfgили ключа--no-preserve.
  1. Примеры операций

 

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

S3cmd ls

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

S3cmd mb s3://bucket_name

Загрузить несколько объектов в бакет

S3cmd put file_name_1 file_name_2 s3://bucket_name/

Загрузить объект в холодное хранилище под другим именем.

S3cmd -–storage_class TYPE_1 put file_name s3://bucket_name/object_name

Перемещение/копирование между различными классами

Для копирования объектов используется опция cp, для перемещения mv с указанием необходимого класса хранения.

S3cmd -–storage_class TYPE_1 mv s3://bucket_name/object_name s3://bucket_name/object_name_new

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

S3cmd ls s3://bucket_name

Получить объект/скачать файл из бакета.

S3cmd get s3://bucket_name/object_name

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

S3cmd del s3://bucket_name/object_name

Удаление всех объектов из бакета

Чтобы удалить из хранилища все файлы, используйте команду rm или del с флагами –recursive и –force.

S3cmd del s3://bucket_name/ --recursive --force

Составная (multipart) загрузка.

Клиентs3cmdподдерживает составную загрузку, которая автоматически активируется при загрузке файлов размером более 15 Мб. Этот метод разбивает файл на несколько частей (чанков) и загружает их параллельно, что ускоряет процесс передачи больших файлов и повышает устойчивость к сбоям.

При необходимости составную загрузку можно отключить с помощью опции--disable-multipart.

Для изменения размера отдельных фрагментов (чанков) используйте опцию--multipart-chunk-size-mb=SIZE, где SIZE — размер каждого фрагмента в мегабайтах. По умолчанию размер фрагмента составляет 15 Мб, минимально допустимый размер — 5 Мб, максимально допустимый — 5 Гб.

Например, чтобы установить размер фрагмента на 10 Мб, используйте следующую команду:

S3cmd –multipart-chunk-size-mb=10 put file_name s3://bucket_name

Эта настройка позволяет оптимизировать загрузку больших файлов в зависимости от пропускной способности сети и требований к производительности.

Управление прерванными составными (multipart) загрузками

При прерывании составной загрузки фрагменты файлов не отображаются в бакете, но продолжают занимать дисковое пространство на сервере. Чтобы просмотреть список прерванных загрузок и узнать, какие фрагменты занимают место, используйте команду:

S3cmd multipart s3://bucket_name

Эта команда выводит дату и время начала загрузки, путь файла и уникальный идентификатор загрузки (ID).

Для удаления фрагментов неудачных загрузок используйте следующую команду:

S3cmd abortmp s3://bucket_name/file_name/ID_загрузки

 

Полный список команд и дополнительную информацию можно найти вдокументации S3cmd.

Сценарии использования объектного хранилища

Бэкапы и аварийное восстановление

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

Файлы мобильных и web-приложений

Благодаря доступу по HTTP API и удобству масштабирования, S3 можно эффективно использовать и при разработке web-приложений. Записанные в тэгах метаданные позволяют в процессе разработки обращаться по API к объектам, лежащим в объектном хранилище. К примеру, в объектном хранилище содержатся музыкальные трэки, которые пользователь может скачать или воспроизвести, воспользовавшись приложением. Для передачи ему списка трэков по критерию (исполнитель, жанр, год выхода и т.д.) не требуется осуществлять сортировку на стороне приложения — это может быть сделано и внутри хранилища в результате передачи запроса по API.

«Большие данные»

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

Мультимедийные файлы

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

Архивы

S3 удобно и для «холодного» хранения больших объемов данных, к которым редко требуется обращаться. Речь может идти о записях камер, записях разговоров с клиентами, разнообразно

Консультация Основные операции

Не нашли инструкцию?

Заполните форму, и наш специалист свяжется с вами.

Мы дополним информацию и ответим на ваш вопрос.

Оставить заявку

Основные возможности и ограничения

Введение в сервис S3 хранилище