Copiar ficheros en Amazon S3 con Python

10/Mar/2016 Python Deja un comentario

Una de las capacidades que nos ofrece la librería TinyS3 de Python es la facilidad para poder Copiar ficheros en Amazon S3 con Python. En este sentido nos ofrece el poder realizar una copia de ficheros desde un bucket a otro bucket de Amazon S3 o bien copiar ficheros dentro del mismo bucket de Amazon S3.

Pero vayamos por partes. Lo primero será importar la librería TinyS3 y realizar una conexión sobre Amazon S3 mediante una clave privada y secreto.

El método que utilizaremos para la conexión será .Connection()

  1. import tinys3
  2.  
  3. S3_ACCESS_KEY = 'BAKIBAKI678H67HGA'
  4. S3_SECRET_KEY = '+vpOpILD+E9872AialendX0Ui123CKCKCKw'
  5.  
  6. conn = tinys3.Connection(S3_ACCESS_KEY,S3_SECRET_KEY,BUCKET_ORIGEN,endpoint='s3-eu-west-1.amazonaws.com')

Una vez que hayamos creado la conexión a Amazon S3 tendremos un objeto con la conexión, el cual nos va a ofrecer directamente un método .copy() que nos va a facilitar el copiado de ficheros.

Vamos a definir dos variables con los buckets. Esta variables las vamos a utilizar en la copia.

  1. BUCKET_ORIGEN = '/bucket-origen'
  2. BUCKET_DESTINO = '/bucket-destino'

En el caso de que queramos copiar un fichero de un bucket a otro deberemos de utilizar el método .copy() con el nombre del fichero origen, seguido del bucket de origen, luego el nombre del fichero destino y por último el bucket de destino.

  1. conn.copy('origen.jpg',BUCKET_ORIGEN,'destino.jpg',BUCKET_DESTINO)

Si vamos a realizar la copia dentro del mismo bucket, simplemente omitiremos la variable con el bucket de destino y utilizaremos el mismo método.

  1. conn.copy('ORIGEN.jpg',BUCKET_ORIGEN,'destino.jpg')

Ya hemos visto lo sencillo que es manejar el método .copy() para copiar ficheros en Amazon S3 con Python.

Vídeos sobre Python


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*