IBM Cloud Object Storage - 它是否支持对象版本控制以及如何获取UUID?

时间:2017-04-05 15:57:49

标签: ibm-cloud cloud-storage object-storage

1) documentation州:

  

通用唯一标识符(UUID):此ID分配给OBS系统中的每个对象。此UUID允许对象存储系统区分对象,并用于查找数据,而无需知道数据所在的确切物理驱动器,阵列或站点。

但是,我无法在API中找到有关如何通过UUID检索对象或如何检索对象的UUID的信息。我可以这样做吗?

2)COS是否支持存储对象的自动版本控制,比如aws?例如,如果我将数据存储在启用版本的存储桶中,我会收到一个标头x-amz-version-id(请参阅here),其中包含已分配的版本ID。 COS是否支持版本控制,如果支持,如何检索对象的版本?

3 个答案:

答案 0 :(得分:2)

对象的UUID实际上只是{bucket-name}/{object-key}组合。由于每个存储桶名称必须全局唯一,因此允许对象键定义对象的唯一标识符。感谢您提出这个问题,我应该重写那部分文档,不要使用UUID,因为这意味着有一个额外的底层标识符。

目前,不,COS不支持公共云中对象的AWS S3样式版本控制(尽管这在私有云实现中是可能的)。这是今年晚些时候的路线图。

答案 1 :(得分:0)

重新审视版本,我不知道,但是如果你想按照AWS提出的方式获得UUID,那么,你也可以谈论Etag。对于给定的对象,Etag是这样的:

52816d090462f946a7a6273ea3d3896c

要获得此Etag,BOTO3非常棒: 使用此调用来获取它:

s3ressource = client(
    service_name='s3', 
    endpoint_url= "endpoint_url",
    aws_access_key_id= "aws_access_key_id",
    aws_secret_access_key="aws_secret_access_key",
    use_ssl=True,
    )


OBJE = s3ressource.head_object(Bucket = TheNameOfYourBucket, Key = theNameOfYourObject) 
ETAGOBJE=OBJE['ETag']

答案 2 :(得分:0)