MCPcopy Index your code
hub / github.com/aws/aws-cli / _multipart_upload_to_s3

Method _multipart_upload_to_s3

awscli/customizations/codedeploy/push.py:212–245  ·  view source on GitHub ↗
(self, params, bundle, size_remaining)

Source from the content-addressed store, hash-verified

210 return size
211
212 def _multipart_upload_to_s3(self, params, bundle, size_remaining):
213 create_response = self.s3.create_multipart_upload(
214 Bucket=params.bucket, Key=params.key
215 )
216 upload_id = create_response['UploadId']
217 try:
218 part_num = 1
219 multipart_list = []
220 bundle.seek(0)
221 while size_remaining > 0:
222 data = bundle.read(MULTIPART_LIMIT)
223 upload_response = self.s3.upload_part(
224 Bucket=params.bucket,
225 Key=params.key,
226 UploadId=upload_id,
227 PartNumber=part_num,
228 Body=BytesIO(data),
229 )
230 multipart_list.append(
231 {'PartNumber': part_num, 'ETag': upload_response['ETag']}
232 )
233 part_num += 1
234 size_remaining -= len(data)
235 return self.s3.complete_multipart_upload(
236 Bucket=params.bucket,
237 Key=params.key,
238 UploadId=upload_id,
239 MultipartUpload={'Parts': multipart_list},
240 )
241 except ClientError as e:
242 self.s3.abort_multipart_upload(
243 Bucket=params.bucket, Key=params.key, UploadId=upload_id
244 )
245 raise e
246
247 def _register_revision(self, params):
248 revision = {

Callers 1

_upload_to_s3Method · 0.95

Calls 4

seekMethod · 0.45
readMethod · 0.45

Tested by

no test coverage detected