1) The documentation states:
A universally unique identifier (UUID): This ID is assigned to every object in an OBS system. This UUID allows the object storage system to differentiate objects from one another and is used to find the data without needing to know the exact physical drive, array, or site where the data is.
However, I cannot find info in the API about how to retrieve objects via their UUID, or how to retrieve an object's UUID. Can I do this?
2) Does COS support automatic versioning of stored objects, like aws does? For example, if I store data in a version-enabled bucket, I receive a header x-amz-version-id
(see here) with the version ID that was assigned. Does COS support versioning, and if so, how do I retrieve the versions of an object?
The object's UUID is actually just the {bucket-name}/{object-key}
combination. Because each bucket name must be globally unique, this allows for the object key to define the unique identifier for the object. Thanks for asking about this, I should rewrite that part of the docs to not use UUID as that implies there is an additional underlying identifier.
At the moment, no, COS does not support AWS S3-style versioning of objects in the public cloud (although this is possible in private cloud implementations). This is on the roadmap for later this year.