2016-06-08 3 views
0

객체 저장소에있는 파일의 시간을 어떻게 설정합니까?Softlayer 객체 저장소 Python API TTL (Time To Live)

https://github.com/softlayer/softlayer-object-storage-python/blob/master/object_storage/storage_object.py의 코드를 보면 TTL 옵션없이 (self, data, check_md5)를 취합니다.

sl_storage = object_storage.get_client(
    username = environment['slos_username'], 
    password = environment['api_key'], 
    auth_url = environment['auth_url'] 
) 

# get container 
sl_container = sl_storage.get_container(environment['object_container']) 
# create "pointer" to cointainer file fabfile.zip 

sl_file = sl_container[filename] 
myzip = open(foldername + filename, 'rb') 
sl_file.create() 

sl_file.send(myzip, TIME_TO_LIVE_PARAM=100) 

은 또한 https://github.com/softlayer/softlayer-object-storage-python/blob/master/object_storage/container.py

sl_file['ttl'] = timetolive 

에 따라 시도했지만 작동하지 않습니다.

감사합니다.

답변

0

"ttl"이 헤더에 사용 가능한지 확인해야합니다. "TTL"헤더는 컨테이너에서 CDN을 활성화 한 경우 사용할 수 있습니다.

sl_storage['myContainserName']['MyFileName'].update({'x-cdn-ttl':'3600'}) 

의 TTL 값이하는 경우 :

sl_storage['myContainserName']['MyFileName'].headers 

다음이 라인 코드를 사용하여 TLL를 업데이트 할 수 있도록

는 TTL 헤더가이 코드 줄을 사용할 수 있습니다 존재하는지 확인합니다 존재하지 않고 cdn을 사용하도록 설정 한 경우이 회선 코드를 사용하여 헤더를 만들려고합니다.

sl_storage['myContainserName']['MyFileName'].create({'x-cdn-ttl':'3600'}) 

Re gards

+0

아. 캐시를 만료하지 않고 파일을 개체 저장소에서 제거하려면 "만료 시간"을 어떻게 지정합니까? – kyl

+0

나는 그 기능이 존재하지 않는다고 생각한다. OpenStack http://developer.openstack.org/api-ref-objectstorage-v1.html에서 softlayer 객체 스토리지는 오픈 스택을 기반으로한다. 오픈 스택에서 실행하면 소프트 레이어에서도 잘 작동합니다. –

0

당신은 헤더를 설정해야합니다 "X-삭제-에서을 : 1417341600" https://github.com/softlayer/softlayer-object-storage-python/blob/master/object_storage/storage_object.py#L210-L216

1417341600 유닉스 타임 스탬프 업데이트 방법을 사용할 수 있습니다 파이썬 클라이언트를 사용하여 더 많은 여기에 정보 http://docs.openstack.org/developer/swift/overview_expiring_objects.html

를 볼 수 있습니다

sl_storage['myContainserName']['MyFileName'].update({'X-Delete-At':1417341600}) 

감사합니다 내가 볼

관련 문제