8.6.1 Обзор
Для изменения некоторых или всех полей существующего объекта данных следует выполнить запрос:
PUT <root URI>/<ContainerName>/<DataObjectName>
Для изменения значения существующего объекта данных следует выполнить запрос:
PUT <root URI>/<ContainerName>/<DataObjectName>?value:<range>
Для добавления, изменения или удаления определенных метаданных существующего объекта данных следует выполнить запрос:
PUT <root URI>/<ContainerName>/<DataObjectName>?metadata:<metadataname>;...
где:
- <root URI> путь к облаку CDMI;
- <ContainerName> неотрицательное число промежуточных контейнеров;
- <DataObjectName> имя объекта данных для изменения;
- <range> диапазон байт объекта данных для изменения.
К объекту данных возможно обратиться также как <root URI>/cdmi_objectid/<оbjectID>, изменение объекта не должно изменять его ID.
8.6.2 Опции
Следующие опции описывают поддерживаемые операции, которые можно выполнять при изменении существующего объекта данных:
- поддержка возможности изменения метаданных существующего объекта данных обозначена наличием опции cdmi_modify_metadata у объекта;
- поддержка возможности изменения значения и/или типа MIME существующего объекта данных обозначена наличием опции cdmi_modify_value у объекта;
- поддержка возможности изменения определенного диапазона байт значения существующего объекта данных обозначена наличием опции cdmi_modify_value_range у объекта.
8.6.3 Заголовки запроса
Заголовки HTTP запроса для изменения объекта данных CDMI с использованием типа содержимого CDMI перечислены в таблице 21.
Таблица 21 - Заголовки запроса - изменение CDMI объекта данных с использованием типа содержимого CDMI
Заголовок | Тип | Описание | Требование |
Content-Type | Строка заголовка | "application/cdmi-object" | Обязательно |
X-CDMI- SpecificationVersion | Строка заголовка | Список версий, поддерживаемых клиентом, разделенных запятыми, например "1.0.2, 1.5, 2.0" | Обязательно |
X-CDMI-Partial | Строка заголовка | "true". Указывает на то, что объект находится в процессе изменения, и еще не был изменен полностью. При этом значение поля completionStatus должно быть установлено в "Processing". Если поле the completionStatus было ранее установлено в "Processing" включением данного заголовка при создании или изменении, при следующем изменении без данного заголовка поле completionStatus снова примет значение "Complete". | Опционально |
8.6.4 Тело сообщения-запроса
Поля тела сообщения-запроса для изменения объекта данных CDMI с использованием типа содержимого CDMI перечислены в таблице 22.
Таблица 22 - Тело сообщения-запроса - изменение CDMI объекта данных с использованием типа содержимого CDMI