2017-04-05 8 views
3

1) documentation 상태 :IBM Cloud Object Storage - 오브젝트 버전 관리 및 UUID 확보 방법을 지원합니까?

보편적으로 고유 식별자 (UUID)가이 ID는 OBS 시스템의 모든 오브젝트에 할당된다. 이 UUID를 사용하면 객체 저장소 시스템이 객체를 서로 구별 할 수 있으며 데이터가있는 정확한 물리적 드라이브, 배열 또는 사이트를 알 필요없이 데이터를 찾는 데 사용됩니다.

그러나, 나는 그들의 UUID, 방법 또는 개체의 UUID를 검색하는 방법을 통해 객체를 검색하는 방법에 대한 API에서 정보를 찾을 수 없습니다. 내가 할 수 있을까?

2) COS는 aws와 같이 저장된 객체의 자동 버전 관리를 지원합니까? 예를 들어 버전 사용 가능 버킷에 데이터를 저장하면 버전 ID가 할당 된 x-amz-version-id (here 참조) 헤더가 수신됩니다. COS는 버전 관리를 지원합니까? 그렇다면 버전을 어떻게 검색합니까?

답변

2

개체의 UUID는 실제로는 {bucket-name}/{object-key} 조합입니다. 각 버킷 이름은 전역 적으로 고유해야하므로 객체 키가 객체의 고유 식별자를 정의 할 수 있습니다. 이것에 대해 질문 해 주셔서 고맙습니다. UUID를 사용하지 않기 위해 문서의 해당 부분을 다시 작성해야합니다. 기본 식별자가 추가되어 있음을 의미합니다.

현재 COS는 공개 클라우드에서 AWS S3 스타일의 객체 버전 관리를 지원하지 않습니다 (사설 클라우드 구현에서는 가능하지만). 올해 말 로드맵에 나와 있습니다.

0

Regaring 버전, 나도 잘 모르겠지만, 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']