S3 Buckets: Almacenamiento de objetos escalable en la nube

S3 Buckets: Almacenamiento de objetos escalable en la nube

¿Qué son los buckets de Amazon S3?

  • El bucket S3 es un contenedor de objetos (archivos) almacenados en S3.
  • Son globales, es decir que el bucket debe tener un nombre único a través de toda la red de AWS.
  • Pueden contener hasta 63 caracteres en minúsculas, números, guiones y puntos.
  • Se pueden crear hasta 100 buckets por cuenta.
  • El bucket se crea en una región en específica (aunque el nombre sea global).

¿Qué son los objetos en Amazon S3 (Objects)?

  • Son entidades o archivos almacenados en buckets.
  • Puede almacenar cualquier tipo de datos.
  • Desde 0 a 5 Teras.
  • Cada objeto consiste de datos y metadatos.
  • La porción de datos es opaca para S3 (no sabe que tipo de datos son ni distingue si es texto o binario).
  • Los metadatos asociados a un objeto es un grupo de pares nombre/valor que describen el objeto.
  • Hay dos tipos de metadata, de sistema y de usuario.
  • El system metadata es creado por S3, e incluye datos como la fecha de creación, tamaño, md5 digest y content-type.
  • El user metadata consiste de datos opcionales que se asignan por el usuario al momento de que el objeto es creado.

¿Qué son las Amazon S3 Keys?

  • Cada objeto almacenado en un bucket de S3 es identificado por un key.
  • Podemos considerar al key como el nombre de archivo.
  • El key puede tener hasta 2014 bytes de unicode utf-8 incluyendo slashes, backslashes, puntos y diagonales.
  • Deben ser únicos dentro de un bucket, pero diferentes buckets pueden contener objetos con el mismo key.
  • La combinación de bucket, key y versión id da un valor de unanimicidad al objeto de S3.

¿Qué es la dirección url de los objetos?

Cada objeto de S3 puede ser accedido a través de una dirección única, por ejemplo…

http://mibucket.s3.amazonaws.com/mifoto.png

Esta url la podemos descomponer en:

mibucket
es el nombre del bucket
mifoto.png
es el nombre del key de archivo

También es posible utilizar este tipo de estructura http://mibucket.s3.amazonaws.com/diciembre/fotos/yo.png pero el filename es todo el string que diciembre/fotos/yo.png. Esto debido a que el nombre de archivo puede contener diagonales y diagonales invertidas. En realidad no existen los directorios en el bucket como tal.

Por conveniencia, la consola de S3 permite navegar la estructura del bucket como si existieran directorios, pero esto es solo una forma de simplificar la navegación, no existen tales directorios en la realidad.