Boto3: verifique si el archivo se ha cargado usando upload_file ()

Estoy haciendo un script de copia de seguridad usando boto3 usando esta línea para cargar el artículo:

bucket.upload_file(backup_file_name,bucket_path+backup_file_name) 

¿Cómo puedo verificar si este archivo realmente se ha cargado en mi cubo? Intenté encontrar algo usando boto3 doc pero no encontré nada. ¿Este método arroja alguna excepción que yo pueda manejar?

boto3.exceptions.S3UploadFailedError . También puede hacer una solicitud de head_object para verificar que el objeto se vea como debería. Esto generará un botocore.ClientError con el código 404 si el objeto no existe.

Hay algunas maneras de comprobar. Primero, siempre debes hacer sha256 hash para tu archivo. Cuando cargue, recuerde colocar esta información dentro de la parte Meta del script de carga del objeto.

  • lea el archivo completo, recupere el sha256 tiene desde el meta del encabezado, y vuelva a calcular el que tiene que verificar si es el tally.
  • Añadir un evento para el cubo en PUT. Cuando el archivo se cargue correctamente, envíe los eventos a una cola que pueda inspeccionar. Por lo tanto, si se carga correctamente, pero luego su progtwig se bloquea, todavía tiene una caída que volver a cargar el archivo nuevamente.