12345678910111213141516171819202122 |
- def get_uploaded_list(*, s3_client, Des_bucket, Des_key):
- multipart_uploaded_list = []
- paginator = s3_client.get_paginator('list_multipart_uploads')
- try:
- logger.info(f'Getting unfinished upload id list - {Des_bucket}/{Des_key}...')
- response_iterator = paginator.paginate(
- Bucket=Des_bucket,
- Prefix=Des_key
- )
- for page in response_iterator:
- if "Uploads" in page:
- for i in page["Uploads"]:
- if i["Key"] == Des_key or Des_key == '':
- multipart_uploaded_list.append({
- "Key": i["Key"],
- "Initiated": i["Initiated"],
- "UploadId": i["UploadId"]
- })
- logger.info(f'Unfinished upload, Key: {i["Key"]}, Time: {i["Initiated"]}')
- except Exception as e:
- logger.error(f'Fail to list multipart upload - {Des_bucket}/{Des_key} - {str(e)}')
- return multipart_uploaded_list
|