ГОСТ Р ИСО/МЭК 17826-2015
9.7.8 Пример
П р и м е р - Применение DELETE к URI объекта-контейнера:
DELETE
/
MyContainer1НТТР/1.1
Host: cloud.example.com
Будет получен следующ ий ответ.
НТТР/1.1 204 No Content
9.8 Создание (POST) нового объекта данных с использованием типа содержимого CDMI
9.8.1 Обзор
Для создания нового объекта данных в заданном контейнере, где имя объекта - идентификатор
объекта, присвоенный сервером, следует выполнить запрос:
POST <root URI>/<ContainerName>/
Для создания нового объекта данных в случае, когда объект не принадлежит контейнеру и досту
пен только no 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.8.2 Отсроченное завершение создания
В ответ на запрос создания объекта данных сервер может вернуть код 202 Accepted, что указыва
ет на то. что объект находится в процессе создания. Это полезно в случав длительных операций (на
пример. копирования большого объема данных от URI источника). Такой ответ означает, что:
• Сервер должен вернуть заголовок Location, содержащий URI к создаваемому объекту вместе со
статусом HTTP 202 Accepted.
• Статус 202Accepted со стороны сервера удостоверяет, что были пройдены несколько проверок:
- пользователь авторизован для создания нового объекта данных:
- пользователь авторизован для чтения любого исходного объекта, который необходимо пере
местить. скопировать, сериализовать или десериализовать;
- достаточно места для создания объекта-контейнера или. по крайней мере, достаточно места
для создания URI к сообщению об ошибке.
• Клиент может не иметь опции немедленно обратиться к созданному объекту, например, из-за
задержек, вызванных использованием в реализации целостности в конечном итоге.
Клиент выполняет операции GET к URI для отслеживания процесса создания. В ответ сервер воз
вращает два поля в теле сообщения-ответа, которые описывают текущее состояние операции.
- обязательное текстовое поле completionStatus содержит «Processing». «Complete», либо строку
сообщения об ошибке, начинающуюся с «Error»;
- опциональное поле percentComplete содержит процент выполнения принятого запроса POST
(от 0 до 100).
GET не возвращает значение объекта, если completionStatus не равно «Complete». Если создание
объекта завершается с ошибкой, создается URI. а поле completionStatus устанавливается равным со
общению об ошибке. Удаление URI после обработки ошибки возлагается на клиента.
9.8.3 Опции
Следующие опции описывают поддерживаемые операции при создании нового объекта данных
по ID в «/cdmi_objectid/»:
- поддержка возможности создания нового объекта данных посредством этой операции обозна
чается наличием опции cdmi_post_dataobject_by_ID в системе:
- если объект, создаваемый в «/cdmi_objectid/», является ссылкой, поддержка этой операции обо
значается присутствием опции cdmi_create_reference_by_ID в системе;
56