Multipart upload
Use the following code snippet to use ‘maven.gz’ and ‘maven1.gz’ as copy source from Ozone volume ‘s3v’ and to create a new object ‘key1’ in Ozone volume ‘s3v’.
response = s3_client.create_multipart_upload(Bucket='bucket1', Key='key1') print(response) uid=response['UploadId'] print(uid) response = s3_client.upload_part_copy( Bucket='bucket1', CopySource='/bucket1/maven.gz', Key='key1', PartNumber=1, UploadId=str(uid) ) print(response) etag1=response.get('CopyPartResult').get('ETag') print(etag1) response = s3_client.upload_part_copy( Bucket='bucket1', CopySource='/bucket1/maven1.gz', Key='key1', PartNumber=2, UploadId=str(uid) ) print(response) etag2=response.get('CopyPartResult').get('ETag') print(etag2) response = s3_client.complete_multipart_upload( Bucket='bucket1', Key='key1', MultipartUpload={ 'Parts': [ { 'ETag': str(etag1), 'PartNumber': 1, }, { 'ETag': str(etag2), 'PartNumber': 2, }, ], }, UploadId=str(uid), ) print(response)