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