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

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

     8.2 Создание объекта данных с использованием типа содержимого CDMI

8.2.1 Обзор

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

PUT <root URI>/<ContainerName>/<DataObjectName>

Создание нового объекта по ID, см. 9.9.

где:

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

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

- <DataObjectName> имя создаваемого объекта данных.

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

8.2.2 Отложенное завершение создания

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

- сервер вернет заголовок Location с URI создаваемого объекта вместе с кодом HTTP 202 Accepted;

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

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

- пользователь авторизован считывать любые источники, которые должны быть скопированы, перемещены, сериализованы или десериализованы

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

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

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

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

- опциональное поле percentComplete, содержащее процент выполнения операции (от 0 до 100).

GET не должен возвращать никакого значения в объект, если его статус не completionStatus = "Complete". Если конечный результат операции создания - ошибка, то создается URI с полем completionStatus, содержащим сообщение об ошибке. Удаление URI после обнаружения ошибки - обязанность клиента.

8.2.3 Опции

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

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

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

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

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

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