ГОСТ Р ИСО/МЭК 17826-2015
Каждая очередь имеет единственный глобально-уникальный ID. который остается неизменным
на протяжении жизненного цикла объекта. Каждый объект-очередь должен иметь один или несколько
адресов URI для обеспечения доступа к объекту.
Очередь может иметь родительский объект. В этом случае, объект-очередь наследует те элемен
ты метаданных системы данных, которые не заданы явным образом в самом объекте-очереди.
П р и м е р ы
1 Объект-очередь «receipts.queueя, сохраненный по нижеуказанному URI, наследует метаданные
системы данных от родительского контейнера яfinance»:
http://cloud.example.com/finance/receipts.queue
Индивидуальные поля объекта-очереди могут быт ь дост упны указанием имени поля после сим
вола я?», следующего за URI объекта.
2 Следующий URI возвращает в теле сообщения-ответа в поле value элемент из головы очереди
(элемент. дольше других находящ ийся в очереди):
http://cloud.example.com/queueobject7value
Кодировка данных, передаваемых в поле value объекта-очереди, определяется значением поля
valuetransferencoding объекта-очереди:
- если valuetransferencoding равно «utf-8», данные, сохраняемые в очереди, должны быть кор
ректной строкой UTF-6 и должны передаваться в поле value как строка UTF-8;
- если valuetransferencoding равно «base64», данные, сохраняемые в очереди, могут содержать
произвольные бинарные последовательности и должны передаваться в поле value как строки в коди
ровке base 64.
Указание диапазона в запросе к полю value позволяет получить доступ к отдельным байтам объ
екта в очереди. Так. следующий URI возвращает первую тысячу байт элемента в голове очереди (эле
мента. дольше других находящегося в очереди):
http://cioud.example.eom/queueobject7value:0-999
Так как диапазон байтов строки UTF-8 часто не является корректной строкой UTF-8. ответ на за
прос диапазона должен всегда передаваться как строка в кодировке base 64.
Диапазоны байтов определяются как целые диапазоны, включающие границы (пункт 14.35.1 в
RFC 2616).
Если клиент поддерживает или включает поля десериализации, которые не определены в насто
ящем стандарте, эти поля должны храниться как часть объекта.
11.1.1 Метаданные объекта-очереди
Метаданные объекта-очереди могут также включать произвольные элементы, созданные пользо
вателем. и метаданные системы данных, как описано в разделе 16.
11.1.2 Адресация объекта-очереди
Каждый объект-очередь может адресоваться одним или несколькими URI, и все доступные опера
ции должны выполняться через эти URI.
11.1.3 Представления объекта-очореди
Представления в данном разделе показаны с использованием нотации JSON. И клиенты, и сер
веры должны поддерживать представление JSON в кодировке UTF-8. В телах сообщений-запросов и
ответов поля JSON могут указываться и возвращаться в любом порядке, за исключением (при
наличии) полей valuerange и value, которые указываются последними и в данном порядке.
11.2 Создание объекта-очереди с использованием типа содержимого CDMI
11.2.1 Обзор
Для создания нового объекта-очереди следует выполнить запрос:
PUT <root URI>/<ContainerName>/<QueueName>
О создании объекта-очереди по ID, см. 9.10.
где:
- <root URI> путь к облаку CDMI;
- <ContainerName> неотрицательное число уже существующих промежуточных контейнеров,
имена которых разделены одинарной наклонной чертой (т.е., «/»);
82