Boto3 S3 put_object 功能如何在 python 中工作
How does Boto3 S3 put_object function works in python
使用 Boto3:
我正在使用 put_object() 函数在 s3 中上传对象。我正在使用带有客户加密密钥参数的 put_object() 进行服务器端加密。
与博托:
我正在使用 upload_chunk 函数在 s3 中上传对象。在这里,我使用 aws 托管密钥进行服务器端加密,而不是客户提供的,因为它在 API
中不受支持
因此,使用 Boto3 方法,我的程序比 Boto 方法占用更多内存。
请告诉我 put_object 函数如何在 boto3 中用于服务器端加密。
它是否正在使用其调用的机器的内存进行加密?
我是否应该明确清理作为 Body 参数传递给 put_object 函数的数据缓冲区?
代码:
def put_s3_object(self, target_key_name, data, sse_cust_key, sse_cust_key_md5):
''' description: Upload file as s3 object using SSE with customer key
It will store s3 object in encrypted format
input:
target_key_name (#string) data(in memory string/bytes)
sse_cust_key (#string)
sse_cust_key_md5 (#string)
output: response
'''
if not target_key_name:
raise
try:
response = self.s3_client.put_object(Bucket = self.source_bucket, Body = data, Key = target_key_name, SSECustomerAlgorithm = awsParams.CLOUD_DR_AWS_SSE_ALGO, SSECustomerKey = sse_cust_key, SSECustomerKeyMD5 = sse_cust_key_md5)
del data
except botocore.exceptions.ClientError, fault:
raise
except Exception, fault:
raise
我们可以使用来自 boto 的 set_contents_to_string() 和 get_contents_as_string() 函数,而不是 Boto3 put_object()。
这些调用还支持使用客户密钥 (SSE-C) 的服务器端加密。我们只需要在 headers
中提供所有密钥信息
了解更多详情
http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
使用 Boto3: 我正在使用 put_object() 函数在 s3 中上传对象。我正在使用带有客户加密密钥参数的 put_object() 进行服务器端加密。
与博托: 我正在使用 upload_chunk 函数在 s3 中上传对象。在这里,我使用 aws 托管密钥进行服务器端加密,而不是客户提供的,因为它在 API
中不受支持因此,使用 Boto3 方法,我的程序比 Boto 方法占用更多内存。 请告诉我 put_object 函数如何在 boto3 中用于服务器端加密。
它是否正在使用其调用的机器的内存进行加密?
我是否应该明确清理作为 Body 参数传递给 put_object 函数的数据缓冲区?
代码:
def put_s3_object(self, target_key_name, data, sse_cust_key, sse_cust_key_md5):
''' description: Upload file as s3 object using SSE with customer key
It will store s3 object in encrypted format
input:
target_key_name (#string) data(in memory string/bytes)
sse_cust_key (#string)
sse_cust_key_md5 (#string)
output: response
'''
if not target_key_name:
raise
try:
response = self.s3_client.put_object(Bucket = self.source_bucket, Body = data, Key = target_key_name, SSECustomerAlgorithm = awsParams.CLOUD_DR_AWS_SSE_ALGO, SSECustomerKey = sse_cust_key, SSECustomerKeyMD5 = sse_cust_key_md5)
del data
except botocore.exceptions.ClientError, fault:
raise
except Exception, fault:
raise
我们可以使用来自 boto 的 set_contents_to_string() 和 get_contents_as_string() 函数,而不是 Boto3 put_object()。 这些调用还支持使用客户密钥 (SSE-C) 的服务器端加密。我们只需要在 headers
中提供所有密钥信息了解更多详情 http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html