Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 17826-2015 Информационные технологии (ИТ). Интерфейс управления облачными данными (CDMI)

     9.2 Создание объекта-контейнера с использованием типа содержимого CDMI

9.2.1 Обзор

Для создания нового объекта-контейнера следует выполнить запрос:

PUT <root URI>/<ContainerName>/<NewContainerName>/

где:

- <root URI> путь к облаку CDMI;

- <ContainerName> неотрицательное число уже существующих объектов-контейнеров, разделенных одной наклонной чертой (т.е., "/");

- <NewContainerName> имя нового создаваемого объекта-контейнера.

После создания, к контейнеру можно обращаться как <root URI>/cdmi_objectid/<objectlD>/.

9.2.2 Отсроченное завершение создания

В ответ на запрос создания объекта-контейнера, сервер может вернуть код 202 Accepted, что указывает на то, что объект находится в процессе создания. Это полезно в случае длительных операций (например, десериализации исходного объекта данных для создания сложной иерархии объектов). Такой ответ означает, что:

- сервер должен вернуть заголовок Location, содержащий URI к создаваемому объекту со статусом HTTP 202 Accepted;

- статус 202 Accepted со стороны сервера удостоверяет, что были пройдены несколько проверок:

- пользователь авторизован для создания нового объекта-контейнера;

- пользователь авторизован для чтения любого исходного объекта, который необходимо переместить, скопировать, сериализовать или десериализовать;

- достаточно места для создания объекта-контейнера или, по крайней мере, достаточно места для создания URI к сообщению об ошибке.

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

Для отслеживания процесса создания клиент выполняет операции GET к URI. В ответ сервер возвращает два поля в теле сообщения-ответа, которые описывают текущее состояние:

- обязательное текстовое поле completionStatus содержит "Processing", "Complete", либо строку сообщения об ошибке, начинающуюся с "Error";

- опциональное поле percentComplete содержит процент выполнения принятого запроса PUT (от 0 до 100). GET не возвращает объектов-потомков контейнера, если completionStatus не равно "Complete".

Если создание объекта завершается с ошибкой, создается URI, а поле completionStatus устанавливается равным сообщению об ошибке. Удаление URI после обработки ошибки возлагается на клиента.

9.2.3 Опции

Следующие опции описывают поддерживаемые операции при создании нового объекта:

- поддержка возможности создания нового объекта-контейнера обозначается наличием опции cdmi_create_container в родительском контейнере;

- если объект, создаваемый в родительском контейнере, является ссылкой, поддержка этой операции обозначается наличием опции cdmi_create_reference в родительском контейнере;

- если новый объект является копией существующего, поддержка копирования обозначается наличием опции cdmi_copy_container в родительском контейнере;

- если новый контейнер создается в результате перемещения, поддержка этой операции обозначается наличием опции cdmi_move_container у родительского контейнера;

- если новый объект создается в результате операции десериализации, поддержка этой операции обозначается наличием опции cdmi_deserialize_container в родительском контейнере.

9.2.4 Заголовки запроса