ceph中rgw对象etag的示例代码

79次阅读
没有评论

共计 3502 个字符,预计需要花费 9 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 ceph 中 rgw 对象 etag 的示例代码,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

关于“ceph 中 rgw 对象 etag 的示例代码”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3502字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)