Copiar ficheros en Amazon S3 con Python
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.
Conexión a Amazon S3
Sección titulada «Conexión a Amazon S3»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():
import tinys3
S3_ACCESS_KEY = 'BAKIBAKI678H67HGA'S3_SECRET_KEY = '+vpOpILD+E9872AialendX0Ui123CKCKCKw'
conn = tinys3.Connection(S3_ACCESS_KEY,S3_SECRET_KEY,BUCKET_ORIGEN,endpoint='[s3-eu-west-1.amazonaws.com](http://s3-eu-west-1.amazonaws.com/)')Definir los buckets
Sección titulada «Definir los buckets»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.
BUCKET_ORIGEN = '/bucket-origen'BUCKET_DESTINO = '/bucket-destino'Copiar entre buckets diferentes
Sección titulada «Copiar entre buckets diferentes»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.
conn.copy('origen.jpg',BUCKET_ORIGEN,'destino.jpg',BUCKET_DESTINO)Copiar dentro del mismo bucket
Sección titulada «Copiar dentro del mismo bucket»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.
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.
Descarga el código de Copiar ficheros en Amazon S3 con Python
Aprende a copiar ficheros en Amazon S3 con Python de forma sencilla y eficiente. Descubre cómo aprovechar la librería TinyS3 para tus proyectos.