s3_migration_lib_12.py 1.0 KB

12345678910111213141516171819202122
  1. def get_uploaded_list(*, s3_client, Des_bucket, Des_key):
  2. multipart_uploaded_list = []
  3. paginator = s3_client.get_paginator('list_multipart_uploads')
  4. try:
  5. logger.info(f'Getting unfinished upload id list - {Des_bucket}/{Des_key}...')
  6. response_iterator = paginator.paginate(
  7. Bucket=Des_bucket,
  8. Prefix=Des_key
  9. )
  10. for page in response_iterator:
  11. if "Uploads" in page:
  12. for i in page["Uploads"]:
  13. if i["Key"] == Des_key or Des_key == '':
  14. multipart_uploaded_list.append({
  15. "Key": i["Key"],
  16. "Initiated": i["Initiated"],
  17. "UploadId": i["UploadId"]
  18. })
  19. logger.info(f'Unfinished upload, Key: {i["Key"]}, Time: {i["Initiated"]}')
  20. except Exception as e:
  21. logger.error(f'Fail to list multipart upload - {Des_bucket}/{Des_key} - {str(e)}')
  22. return multipart_uploaded_list