您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)ceph中rgw對象etag的示例代碼,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
import hashlib import boto import traceback from boto.s3.connection import S3Connection class ETagExample(object): def __init__(self): self.s3_bucket = "yuliyang6" self.s3_conn = boto.connect_s3( "admin", "admin", host="192.168.10.147", is_secure=False, port=8081, calling_format=boto.s3.connection.OrdinaryCallingFormat(), ) #Function to calculate the checksum of a local file def find_checksum(self, file_name): try: checksum = hashlib.md5(open(file_name).read()).hexdigest() return checksum except Exception, e: print "Exception occurred while calculating checksum :" + str(e) print traceback.print_exc() #Function to calculate the Etag of a file in S3 def find_etag(self, full_key_name): try: bucket = self.s3_conn.get_bucket(self.s3_bucket) key = bucket.get_key(full_key_name) s3_etag = key.etag.strip('"').strip("'") return s3_etag except Exception, e: print "Exception occurred while calculating S3 Etag : " + str(e) print traceback.print_exc() if __name__ == '__main__': test = ETagExample() print test.find_checksum('object1') print test.find_etag('object1') 320c1c0f22dc91d94afe36a042ebc89d send: 'HEAD /yuliyang6/ HTTP/1.1\r\nHost: 192.168.10.147:8081\r\nAccept-Encoding: identity\r\nDate: Sun, 06 Nov 2016 07:54:51 GMT\r\nContent-Length: 0\r\nAuthorization: AWS admin:P7eaeSj73/8dObIeJtIac/ZwXzA=\r\nUser-Agent: Boto/2.41.0 Python/2.7.9 Windows/7\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' header: X-RGW-Object-Count: 1 header: X-RGW-Bytes-Used: 847 header: x-amz-request-id: tx0000000000000000004f6-00581ee1cb-857b-default header: Content-Length: 0 header: Date: Sun, 06 Nov 2016 07:54:51 GMT send: 'HEAD /yuliyang2/ HTTP/1.1\r\nHost: 192.168.10.147:8081\r\nAccept-Encoding: identity\r\nDate: Sun, 06 Nov 2016 07:54:51 GMT\r\nContent-Length: 0\r\nAuthorization: AWS admin:FOtHjwG9XIHPaoBy8TT8QDB3y0I=\r\nUser-Agent: Boto/2.41.0 Python/2.7.9 Windows/7\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' header: X-RGW-Object-Count: 4 header: X-RGW-Bytes-Used: 104858452 header: x-amz-request-id: tx0000000000000000004f7-00581ee1cb-857b-default header: Content-Length: 0 header: Date: Sun, 06 Nov 2016 07:54:51 GMT send: 'HEAD /yuliyang2/object1 HTTP/1.1\r\nHost: 192.168.10.147:8081\r\nAccept-Encoding: identity\r\nDate: Sun, 06 Nov 2016 07:54:51 GMT\r\nContent-Length: 0\r\nAuthorization: AWS admin:KADu0hAVS1BVs3Y9zTIO7dRovCs=\r\nUser-Agent: Boto/2.41.0 Python/2.7.9 Windows/7\r\n\r\n' reply: 'HTTP/1.1 200 OK\r\n' header: Content-Length: 847 header: Accept-Ranges: bytes header: Last-Modified: Sun, 06 Nov 2016 07:54:12 GMT header: ETag: "320c1c0f22dc91d94afe36a042ebc89d" header: x-amz-request-id: tx0000000000000000004f8-00581ee1cb-857b-default header: Content-Type: binary/octet-stream header: Date: Sun, 06 Nov 2016 07:54:51 GMT 320c1c0f22dc91d94afe36a042ebc89d
[root@joke ceph-request]# ceph-request -c ceph-request.cfg -m head -r '/yuliyang2/object1' -v < HEAD /yuliyang2/object1 HTTP/1.1 < Host: 192.168.10.147:8081 < Connection: keep-alive < Accept-Encoding: gzip, deflate < Accept: */* < User-Agent: python-requests/2.11.1 < date: Sun, 06 Nov 2016 07:54:28 GMT < Authorization: AWS admin:qCWFpvxlOfSERMeaV/sfVm0Wcek= < > HTTP/1.1 200 OK > Content-Length: 847 > Accept-Ranges: bytes > Last-Modified: Sun, 06 Nov 2016 07:54:12 GMT > ETag: "320c1c0f22dc91d94afe36a042ebc89d" > x-amz-request-id: tx0000000000000000004f5-00581ee1b4-857b-default > Content-Type: binary/octet-stream > Date: Sun, 06 Nov 2016 07:54:28 GMT > Connection: Keep-Alive >
關(guān)于“ceph中rgw對象etag的示例代碼”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。