Bulky metadata¶
Bulky metadata can be used to store large amounts of timed metadata. The metadata is arranged in a key-value fashion, where the key is the quintuple (field, start, end, stream, channel).
The metadata is not indexed, but is typically used as a temporary container for metadata that is to be processed later, for example using auto-projection rules.
Managing bulky metadata¶
Both items and shapes can hold bulky metadata.
Insert values in bulk¶
-
PUT
/item/
(item-id)/metadata/bulky/
¶ -
PUT
/item/
(item-id)/shape/
(shape-id)/metadata/bulky/
¶ Inserts all key-value pairs from a given document.
Accepts: - application/xml, application/json – BulkyMetadataDocument
Role: _metadata_write
Example¶
PUT /item/VX-250/metadata/bulky
Content-Type: application/xml
<BulkyMetadataDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<field start="3" end="5">
<key>mykey</key>
<value>This is the value of mykey for the first interval.</value>
</field>
<field start="5" end="9">
<key>mykey</key>
<value>This is the value of mykey for the second interval.</value>
</field>
</BulkyMetadataDocument>
Retrieve all keys used in the bulky metadata¶
-
GET
/item/
(item-id)/metadata/bulky/
¶ -
GET
/item/
(item-id)/shape/
(shape-id)/metadata/bulky/
¶ Retrieves a list of all keys in the bulky metadata.
Produces: - application/xml, application/json – URIListDocument
- text/plain – CRLF-delimited list of keys
Role: _metadata_read
Read values¶
-
GET
/item/
(item-id)/metadata/bulky/
(key)¶ -
GET
/item/
(item-id)/shape/
(shape-id)/metadata/bulky/
(key)¶ Retrieves all values of a certain key over a specified interval. All values for that key can be retrieved by specifying start as “-INF” and end as “+INF”.
Matrix Parameters: Produces: - application/xml, application/json – BulkyMetadataDocument
Role: _metadata_read
Example¶
GET /item/VX-123/metadata/bulky/mykey;start=-INF;end=+INF
<BulkyMetadataDocument id="VX-123" xmlns="http://xml.vidispine.com/schema/vidispine">
<field start="3" end="5">
<key>mykey</key>
<value>This is the value of mykey for the first interval.</value>
</field>
<field start="5" end="9">
<key>mykey</key>
<value>This is the value of mykey for the second interval.</value>
</field>
</BulkyMetadataDocument>
Insert values¶
-
PUT
/item/
(item-id)/metadata/bulky/
(key)¶ -
PUT
/item/
(item-id)/shape/
(shape-id)/metadata/bulky/
(key)¶ Inserts a value at the specified interval for the given key. If the key already has a value at that specific interval then that value will be overwritten.
Matrix Parameters: Accepts: - text/plain – The value to set.
Role: _metadata_write
Example¶
PUT /item/VX-123/metadata/bulky/mykey;start=3;end=5
Content-Type: text/plain
This is the value of mykey for the first interval.
PUT /item/VX-123/metadata/bulky/mykey;start=5;end=9
Content-Type: text/plain
This is the value of mykey for the second interval.