本文整理汇总了Python中awscli.customizations.s3.utils.RequestParamsMapper.map_upload_part_copy_params方法的典型用法代码示例。如果您正苦于以下问题:Python RequestParamsMapper.map_upload_part_copy_params方法的具体用法?Python RequestParamsMapper.map_upload_part_copy_params怎么用?Python RequestParamsMapper.map_upload_part_copy_params使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类awscli.customizations.s3.utils.RequestParamsMapper
的用法示例。
在下文中一共展示了RequestParamsMapper.map_upload_part_copy_params方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_upload_part_copy
# 需要导入模块: from awscli.customizations.s3.utils import RequestParamsMapper [as 别名]
# 或者: from awscli.customizations.s3.utils.RequestParamsMapper import map_upload_part_copy_params [as 别名]
def test_upload_part_copy(self):
params = {}
RequestParamsMapper.map_upload_part_copy_params(
params, self.cli_params)
self.assertEqual(
params,
{'CopySourceSSECustomerAlgorithm': 'AES256',
'CopySourceSSECustomerKey': 'my-sse-c-copy-source-key',
'SSECustomerAlgorithm': 'AES256',
'SSECustomerKey': 'my-sse-c-key'})
示例2: test_upload_part_copy
# 需要导入模块: from awscli.customizations.s3.utils import RequestParamsMapper [as 别名]
# 或者: from awscli.customizations.s3.utils.RequestParamsMapper import map_upload_part_copy_params [as 别名]
def test_upload_part_copy(self):
params = {}
RequestParamsMapper.map_upload_part_copy_params(params, self.cli_params)
self.assertEqual(
params,
{
"CopySourceSSECustomerAlgorithm": "AES256",
"CopySourceSSECustomerKey": "my-sse-c-copy-source-key",
"SSECustomerAlgorithm": "AES256",
"SSECustomerKey": "my-sse-c-key",
},
)
示例3: __call__
# 需要导入模块: from awscli.customizations.s3.utils import RequestParamsMapper [as 别名]
# 或者: from awscli.customizations.s3.utils.RequestParamsMapper import map_upload_part_copy_params [as 别名]
def __call__(self):
LOGGER.debug("Uploading part copy %s for filename: %s",
self._part_number, self._filename.src)
total_file_size = self._filename.size
start_range = (self._part_number - 1) * self._chunk_size
if self._is_last_part(self._part_number):
end_range = total_file_size - 1
else:
end_range = start_range + self._chunk_size - 1
range_param = 'bytes=%s-%s' % (start_range, end_range)
try:
LOGGER.debug("Waiting for upload id.")
upload_id = self._upload_context.wait_for_upload_id()
bucket, key = find_bucket_key(self._filename.dest)
src_bucket, src_key = find_bucket_key(self._filename.src)
params = {'Bucket': bucket, 'Key': key,
'PartNumber': self._part_number,
'UploadId': upload_id,
'CopySource': {'Bucket': src_bucket, 'Key': src_key},
'CopySourceRange': range_param}
RequestParamsMapper.map_upload_part_copy_params(
params, self._params)
response_data = self._filename.client.upload_part_copy(**params)
etag = response_data['CopyPartResult']['ETag'][1:-1]
self._upload_context.announce_finished_part(
etag=etag, part_number=self._part_number)
message = print_operation(self._filename, 0)
result = {'message': message, 'total_parts': self._total_parts(),
'error': False}
self._result_queue.put(PrintTask(**result))
except UploadCancelledError as e:
# We don't need to do anything in this case. The task
# has been cancelled, and the task that cancelled the
# task has already queued a message.
LOGGER.debug("Not uploading part copy, task has been cancelled.")
except Exception as e:
LOGGER.debug('Error during upload part copy: %s', e,
exc_info=True)
message = print_operation(self._filename, failed=True,
dryrun=False)
message += '\n' + str(e)
result = {'message': message, 'error': True}
self._result_queue.put(PrintTask(**result))
self._upload_context.cancel_upload()
else:
LOGGER.debug("Copy part number %s completed for filename: %s",
self._part_number, self._filename.src)