Listar contenido de un bucket Amazon S3 con Python

28/Ene/2016 Python Deja un comentario

Ya hemos visto en un anterior ejemplo como podemos subir un fichero a Amazon S3 con Python. En este caso vamos a ver cómo podemos Listar contenido de un bucket Amazon S3 con Python. Lo primero que tenemos que recordar es que un bucket es un contenedor, una especie de directorio. Los bucket almacenarán todas las claves de los ficheros que hayamos subido a Amazon S3.

Todo lo necesario para empezar a trabajar con Python, Amazon S3 y tinys3 lo tienes en el ejemplo de subir un fichero a Amazon S3 con Python.

El ejemplo de listar contenido de un bucket Amazon S3 con Python lo vamos a realizar con la librería tinys3 que podéis encontrar en https://github.com/smore-inc/tinys3

Así deberemos de instalar tinys3.

pip install tinys3

Ahora vamos a importar la librería en nuestro fichero y definir las claves de Amazon S3 que vamos a utilizar.

  1. import tinys3
  2.  
  3. S3_ACCESS_KEY = 'BAKIBAKI678H67HGA'
  4. S3_SECRET_KEY = '+vpOpILD+E9872AialendX0Ui123CKCKCKw'

Ahora nos conectamos al Amazon S3 mediante la clase Connection

  1. conn = tinys3.Connection(S3_ACCESS_KEY,S3_SECRET_KEY,'la-prueba',endpoint='s3-eu-west-1.amazonaws.com')

Vemos que esta clase recibe cuatro parámetros:

  • Clave de Acceso de Amazon S3
  • Clave Secreta de Amazon S3
  • El bucket a utilizar. En este caso lo hemos llamado 'la-prueba'
  • El endpoint o región de Amazón S3 que utilizamos

Lo siguiente será utilizar el método .list() para obtener todas las claves de un bucket.

Si queremos que sea de la raíz de un bucket escribiremos:

  1. lista = conn.list('')

Y si queremos que sea de un directorio en concreto:

  1. lista = conn.list('/directorio')

Ahora tenemos la información del bucket en un diccionario con la metainformación. En concreto la clave 'key' nos dará la información de los ficheros. Así recorremos todo el diccionario mediante un bucle:

  1. for fichero in lista:
  2. print fichero['key']

Y ya habremos conseguido listar contenido de un bucket 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

*

*