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

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

     9.10 Создание (POST) нового объекта-очереди с использованием типа содержимого CDMI

9.10.1 Обзор

Для создания нового объекта-очереди (см. раздел 11) в определенном контейнере, где имя очереди - идентификатор объекта, присвоенный сервером, следует выполнить запрос:

POST <root URI>/<ContainerName>/

Для создания нового объекта-очереди, где объект не принадлежит контейнеру и доступен только по ID (см. 5.8), следует выполнить запрос:

POST <root URI>/cdmi_objectid/

Где:

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

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

В случае создания в "/cdmi_objectid/" к объекту-очереди можно обращаться как <root URI>/cdmi_objectid/<objectlD>.

После создания в контейнере объект-очередь доступен как потомок контейнера с именем, присвоенным сервером; к нему также можно обратиться как <root URI>/cdmi_objectid/<objectlD>.

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

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

- сервер должен вернуть заголовок 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.10.3 Опции

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

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

- если объект, создаваемый в "/cdmi_objectid/", является ссылкой, поддержка этой операции обозначается присутствием опции cdmi_create_reference_by_ID в системе;

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

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