About metadata

In the storage component, each data blob is associated with some metadata. This metadata is stored at the beginning of the data blob. The metadata is not stored in a separate file.

The contents of the metadata for each blob are the following elements:
Table 1. Metadata descriptions and values
Metadata Description

filename

Sets the file name of the then built DataObject, the acceptable characters are any Unicode, any US-ASCII except:

  • Double quotation marks
  • US-ASCII control character (octets 0 - 31)
  • DEL (127)

The maximum length is 255 characters. The allowed characters are derived from RFC 2616. The file name is not required to be unique among the blobs within the store.

contentType

Sets the Content-Type of the then built DataObject. The value must match type/subtype format. Acceptable characters for type and subtype are:

  • US-ASCII control character (octets 0 - 31)
  • DEL (127)
  • Separators: ( ) < > @ , ; : \" / [ ] ? = { } * SP HT

The maximum length is 255 characters. The default value is application-octet if the request comes from HTTP, indicating that the value is set by the client.

charset

Sets the character set of the then built DataObject. The acceptable characters are any US-ASCII characters except:

  • US-ASCII control character (octets 0 - 31)
  • DEL (127)
  • Separators: ( ) < > @ , ; : \" / [ ] ? = { } * SP HT

The maximum length is 255 characters. There is no default value. The client must specify a value.

ContentLength

The size of the blob in number of bytes calculated by the storage server and stored in the following format:
<entry key="size">12345</entry>
where 12345 is the number of bytes calculated by the storage server.

domain

A single string for the domain value. Valid characters for domain are alphanumeric and Unicode alphabet characters. The maximum length is 255 characters. The custom HTTP header to be used for specifying the domain in a POST request is X-IBM-MEG-Domain. As with any HTTP header, the domain header is not case-sensitive.

expiryDate

The expiration date calculated from the maximum lifespan and the date the blob is created.

The following XML code is an example of a metadata with the default or sample values:
<properties>
<entry key="secret key">7ggv1uXz0PCkP6DlHe83HjX8eZxdqLwV</entry>
<entry key="cipherProvider">IBMJCE version 1.2</entry>
<entry key="expiryDate">Sat Sep 29 00:00:00 CDT 2012</entry>
<entry key="charset">UTF-8</entry>
<entry key="encryptionAlgorithm">AES/CBC/PKCS5Padding</entry>
<entry key="encrypted">true</entry>
<entry key="md5Digest">P+EL9E6afeq2PqlGwE+82A==</entry>
<entry key="contentType">text/plain</entry>
<entry key="IV">3U2aIxOVZsZBv29PNSoccA==</entry>
<entry key="size">11</entry>
<entry key="domain">testDomain</entry>
<entry key="expiryDate">Sun, 07 Oct 2012 18:55:14 GMT</entry>
</properties>