Концепции
В описании сервиса Object Storage используются следующие основные понятия:
- Тенант
- Бакет
- Блокировка
Retention period — временная блокировка объекта.
Legal hold — бессрочная блокировка.
Временная управляемая блокировка (governance-mode retention) — устанавливается до определенной даты и времени. Блокировка может быть снята или сокращена с помощью заголовка X-Amz-Bypass-Governance-Retention. Он также позволяет перезаписать или удалить версию объекта.
Временная строгая блокировка (compliance-mode retention) — устанавливается до определенной даты и времени. Может быть только продлена. Версии объектов не могут быть удалены с помощью заголовка X-Amz-Bypass-Governance-Retention.
- Роль s3e.viewer позволяет:
Просматривать настройки блокировок с помощью методов GetObjectLockConfiguration, GetObjectLegalHold, GetObjectRetention.
Просматривать заголовки X-Amz-Object-Lock-Mode, X-Amz-Object-Lock-Retain-Until-Date, X-Amz-Object-Lock-Legal-Hold при вызове методов GetObject и HeadObject.
- Роль s3e.editor позволяет:
Просматривать настройки блокировок с помощью методов GetObjectLockConfiguration, GetObjectLegalHold, GetObjectRetention.
Устанавливать настройки блокировок при загрузке объектов с помощью заголовков X-Amz-Object-Lock-Mode, X-Amz-Object-Lock-Retain-Until-Date, X-Amz-Object-Lock-Legal-Hold при вызове методов PutObject, CopyObject и CreateMultiPartUpload.
- Роль s3e.admin позволяет:
То же, что и роли выше.
Устанавливать настройки блокировок с помощью методов PutObjectLockConfiguration, PutObjectLegalHold, PutObjectRetentio.
- Объект
- Тегирование объекта
- Версионирование бакета
- Жизненный цикл объекта в бакете
- Ключ
- Папка
- Метаданные
- Составная загрузка (multipart)
- Класс хранения
Логическая сущность для организации хранения бакетов.
Логическая сущность для организации хранения объектов. Допускается хранение объектов, имеющих различные классы хранения данных.
Если при загрузке данных в бакет указать нужный класс хранения из числа доступных, то объект будет сохранен с указанным классом хранения.
Object Lock — это механизм блокировки, запрещающий удаление и редактирование версии объекта в версионируемом бакете.
Object Lock поддерживает два способа управления блокировками:
Виды временных блокировок Retention period:
Временные и бессрочная блокировка управляются независимо друг от друга. На версию объекта одновременно могут быть установлены одна временная и одна бессрочная блокировка. Поскольку единственным возможным значением для поля ObjectLockEnabled является Enabled, то отключить поддержку блокировок в бакете нельзя. Пока блокировка активна, отключить версионирование бакета нельзя. В таком случае, нужно создать новый бакет с отключенной блокировкой.
Роли пользователей при работе с Object Lock:
Подробнее о ролевой модели — в статье «Роли»
Файл с данными в произвольном формате, является основной единицей хранения. Объекты размещаются в бакетах.
Присвоение пары ключ-значение для логической маркировки объекта.
Средство хранения нескольких копий объекта в бакете. Каждая версия является полной копией объекта и занимает соответствующий объем в Object Storage.
Правило автоматического удаления объектов и изменения их класса хранения.
Идентификатор объекта в бакете. Ключи можно записать как путь в файловой системе. Ключ состоит из символов формата UTF-8, занимает меньше 1024 байт и не содержит символов : * ? » < > | !.
В структуре хранилища нет папок, но графические файловые менеджеры имитируют папки. В роли папки выступает объект с нулевым размером, ключ которого входит в ключи других объектов как префикс.
С объектом хранятся метаданные в виде пар «имя-значение». Метаданные могут быть системными и пользовательскими.
Способ загрузки больших объектов частями.
Object Storage имеет четыре класса хранения объектов: стандартный, холодный, ледяной и однозонный.
Стандартный класс подходит для хранения данных, к которым нужен частый доступ.
Более холодные классы предназначены для хранения объектов с низкой частотой обращения к ним. Чем холоднее выбранный класс хранения, тем дешевле хранение данных и дороже их чтение и запись.
Стандартный, холодный и ледяной классы хранения подразумевают репликацию хранимых данных во всех дата-центрах, доступных в инфраструктуре Cloud.ru.
Однозонный класс хранения подходит для данных, к которым нужен частый доступ, как при стандартном классе хранения, но при этом не предъявляются требования к столь же высокому уровню их сохранности и доступности. Снижение требований к уровню сохранности и доступности данных обеспечивается за счет отсутствия репликации между несколькими дата-центрами. Хранение данных с однозонным классом дешевле, чем со стандартным.
Класс хранения данных назначается при создании бакета в личном кабинете пользователя. При загрузке данных через API класс хранения данных можно задать в заголовке X-Amz-Storage-Class методов CreateMultipartUpload, PutObject и CopyObject.
- Класс хранения по умолчанию
- Идентификаторы классов хранения
Стандартный класс хранения — STANDARD.
Холодный класс хранения — COLD.
Ледяной класс хранения — ICE.
Однозонный класс хранения — SINGLE.
- Хостинг статического сайта
Для хостинга статического сайта — загрузить в бакет содержимое статического сайта и указать его главную страницу.
Для переадресации всех запросов — указать хост, на который будут перенаправляться все запросы, а также задать протокол для передачи запросов.
Для условной переадресации запросов — перенаправить запросы в соответствии с префиксами имен объектов или HTTP-кодами ответов. Например, запросы к удаленному объекту или возвращающие ошибку можно перенаправить на другие веб-страницы.
- Аудит-логирование
Специальный параметр, который может быть назначен при создании бакета в личном кабинете. Позволяет не указывать класс хранения при загрузке каждого объекта, если этого не требуется. Позже класс хранения по умолчанию можно изменить в настройках бакета.
При создании бакета с использованием Object Storage API всегда создается бакет со стандартным классом хранения.
При загрузке данных через API с использованием методов CreateMultipartUpload, PutObject и CopyObject для указания классов хранения используются следующие идентификаторы:
Object Storage можно использовать для размещения статического веб-сайта в облаке Evolution.
Статический сайт состоит из отдельных веб-страниц, содержащих статическое содержимое, без каких-либо скриптов, требующих запуска на стороне веб-сервера. Статический сайт может содержать клиентскую часть — сценарии, которые основываются на технологиях, таких как HTML, CSS и JavaScript.
В Object Storage можно настроить бакет:
Для настройки хостинга через Object Storage API доступны методы Static Website Hosting (DeleteBucketWebsite, GetBucketWebsite, PutBucketWebsite).
Для работы хостинга статического сайта необходим публичный доступ к бакету. Иначе при обращении к сайту Object Storage вернет пользователю ответ с кодом 403.
Сбор логов и просмотр истории событий, а также экспорт журналов логов во внешнюю клиентскую систему SIEM (разработка находится на стадии Preview).