Comandos de AWS CLI para Amazon S3
14 Aug 2020En este artículo se describe algunos comandos del programa AWS CLI, proporcionado por Amazon para acceder a su nube mediante la consola local. Nos centraremos en los comandos relacionados con el servicio de almacenamiento de objetos Amazon S3, que ofrece escalabilidad, disponibilidad de datos y seguridad.
En esta dirección tiene las instrucciones para instalar el programa AWS CLI.
AWS CLI Command Reference, donde poder consultar todos los comandos y opciones.
Configuración
Antes de poder acceder a los servicios de AWS, es necesario configurar el programa AWS CLI con nuestras credenciales de acceso.
Por seguridad, es conveniente utilizar un usario IAM para ejecutar AWS CLI en vez del usuario raíz.
$ aws configure
AWS Access Key ID [****************CFDY]:
AWS Secret Access Key [****************DSqs]:
Default region name [us-west-1]:
Default output format [json]:
Las credenciales se mantendrán guardadas en el fichero ~/.aws/credentials.
Comprobar las credenciales
$ aws iam list-access-keys
{
"AccessKeyMetadata": [
{
"UserName": "frames75",
"AccessKeyId": "AKDS3KG2ZIL41LSJN6S2",
"Status": "Active",
"CreateDate": "2020-07-11T08:22:41Z"
}
]
}
Operaciones en S3
- Crear un bucket:
$ aws s3 mb s3://frames75-bucket
make_bucket: frames75-bucket
- Obtener el listado de buckets:
$ aws s3 ls
2020-08-10 14:17:21 frames75-bucket
- Copiar un fichero local a un bucket:
$ aws s3 cp fichero1.txt s3://frames75-bucket
upload: ./fichero1.txt to s3://frames75-bucket/fichero1.txt
- Copiar una carpeta local y todo su contenido a un bucket:
Es importante señalar que el nombre de la carpeta también hay que indicarlo en el destino.
$ aws s3 cp ./carpeta1 s3://frames75-bucket/carpeta1 --recursive
upload: carpeta1/carpeta1-1/2.jpg to s3://frames75-bucket/carpeta1/carpeta1-1/2.jpg
upload: carpeta1/1.jpg to s3://frames75-bucket/carpeta1/1.jpg
- Consultar el contenido de la carpeta de un bucket:
$ aws s3 ls s3://frames75-bucket/carpeta1/
PRE carpeta1-1/
2020-08-10 14:47:59 20988 1.jpg
- Eliminar una carpeta y todo su contenido de un bucket:
$ aws s3 rm s3://frames75-bucket/carpeta1/ --recursive
delete: s3://frames75-bucket/carpeta1/1.jpg
delete: s3://frames75-bucket/carpeta1/carpeta1-1/2.jpg
- Sincronizar una carpeta local con un bucket:
La opción
--delete
es necesaria si se quiere que los ficheros que se han borrado en el origen, también se eliminen en el destino.
$ aws s3 sync --delete carpeta1/ s3://frames75-bucket/carpeta1/
upload: carpeta1/1.jpg to s3://frames75-bucket/carpeta1/1.jpg
upload: carpeta1/carpeta1-1/2.jpg to s3://frames75-bucket/carpeta1/carpeta1-1/2.jpg
- Eliminar un bucket vacío.
Un bucket debe estar completamente vacío antes de poder ser eliminado.
$ aws s3 rb s3://frames75-bucket
Comentarios