- Conceptos previos
- Contenedores y objetos. Utilización desde Horizon
- Manejo de objetos desde swift cli
- Acceso anónimo a objetos
OpenStack Swift
- Swift es un almacén de objetos distribuido y altamente escalable. Se
utiliza para almacenar grandes cantidades de datos de forma segura y
económica.
- La diferencia fundamental entre el almacenamiento de objetos y un
sistema de ficheros tradicional es que los objetos no pueden anidarse y no
se puede asignar a cada objeto permisos y propietarios de forma
individual.
- El almacenamiento de objetos es ideal para almacenar grandes ficheros
multimedia o archivos grandes como copias de seguridad.
- La comunicación con OpenStack Swift se hace mediante una sencilla API
RESTful. Es posible utilizar una API compatible con Amazon S3 si se
desea.
Terminología
- Contenedor: Equivalente a un directorio en un sistema
de ficheros, sirve para organizar objetos, pero tiene una diferencia
fundamental con el directorio: No se pueden anidar contenedores
- Objeto: Elemento que se almacena, suele estar
relacionado con un fichero o archivo, pero además incluye una serie de
metadatos.
- ACL: Utilizada para gestionar los permisos que otros
usuarios pueden tener sobre cada contenedor, no sobre cada objeto. De
momento, las ACLs sólo pueden definirse desde la línea de comandos.
- Crear varios contenedores desde Horizon
- Subir y bajar objetos desde Horizon
Objetos con Swift CLI
- Utilizar swift desde la línea de comandos: list, stat, download, upload
- Permitir acceso anónimo a un contenedor
Objetos
#Listar contenedores
$ swift list
#Listar objetos dentro de un contenedor
$ swift list CONTENEDOR
# Subir un objeto
$ swift upload CONTENEDOR NOMBRE_FICHERO
# Bajar un objeto
$ swift download CONTENEDOR NOMBRE_OBJETO
# Actualizar metadatos de contenedor u objetos
$ swift post ARGUMENTOS