El control y la gestión de los datos puede ser una tarea agotadora. Estos comandos de AWS S3 le ayudarán a gestionar de forma rápida y eficaz sus buckets y datos de AWS S3.
AWSS3 es el servicio de almacenamiento de objetos proporcionado por AWS. Es el servicio de almacenamiento más utilizado de AWS que prácticamente puede albergar una cantidad infinita de datos. Es altamente disponible, duradero y fácil de integrar con varios otros servicios de AWS.
AWS S3 puede ser utilizado por personas con cualquier requisito como el almacenamiento de aplicaciones móviles/web, almacenamiento de big data, almacenamiento de datos de aprendizaje automático, alojamiento de sitios web estáticos, y muchos más.
Si ha estado utilizando S3 en su proyecto, sabrá que dada la enorme capacidad de almacenamiento, la gestión de cientos de buckets y terabytes de datos en estos buckets puede ser un trabajo exigente. Tenemos una lista de comandos de AWS S3 con ejemplos que puede utilizar para gestionar sus buckets y datos de AWS S3 de forma eficiente.
Configuración de la CLI de AWS
Una vez que haya descargado e instalado correctamente la CLI de AWS, deberá configurar las credenciales de AWS para poder acceder a su cuenta y servicios de AWS. Repasemos rápidamente cómo puede configurar la CLI de AWS.
El primer paso es crear un usuario con acceso programático a la Cuenta de AWS. Recuerde marcar esta casilla cuando cree un usuario para la CLI de AWS.
Dé los permisos y cree un usuario. En la pantalla final después de haber creado con éxito este usuario copie el ID de la clave de acceso y la clave de acceso secreta para este usuario. Utilizaremos estas credenciales para iniciar sesión a través de la CLI de AWS.
Ahora vaya a la terminal de su elección y ejecute el siguiente comando.
aws configure
Introduzca el ID de la clave de acceso y la clave de acceso Secreta cuando se le solicite. Seleccione cualquier región de AWS de su elección y el formato de salida del comando. Personalmente prefiero utilizar el formato JSON. Esto no es gran cosa siempre se puede cambiar estos valores más tarde.
Ahora puede ejecutar cualquier comando CLI de AWS en la consola. Repasemos ahora los Comandos AWS S3.
cp
El comando cp simplemente copia los datos hacia y desde los buckets S3. Se puede utilizar para copiar archivos de local a S3, de S3 a local, y entre dos cubos S3. Hay muchos otros parámetros que puede suministrar con los comandos.
Por ejemplo, el parámetro -dryrun para probar el comando, el parámetro –storage-class para especificar la clase de almacenamiento de sus datos en S3, otros parámetros para establecer el cifrado, y mucho más. El comando cp le ofrece un control total sobre cómo configurar la seguridad de sus datos en S3.
Uso
aws s3 cp[--options]
Ejemplos
Copiar datos de local a S3
aws s3 cp nombre_archivo.txt s3://nombre_archivo/nombre_archivo_2.txt
Copiar datos de S3 a local
aws s3 cp s3://nombre_bucket/nombre_archivo_2.txt nombre_archivo.txt
Copiar datos entre buckets S3
aws s3 cp s3://nombre_del_bucket/nombre_del_archivo.txt s3://nombre_del_bucket_2/nombre_del_archivo_2.txt
Copiar datos de local a S3 – IA
aws s3 cp nombre_archivo.txt s3://nombre_carpeta/nombre_archivo_2.txt --storage-class STANDARD_IA
Copiar todos los datos de una carpeta local a S3
aws s3 cp ./carpeta_local s3://nombre_del_cubo --recursive
ls
El comando l s se utiliza para listar los buckets o el contenido de los mismos. Por lo tanto, si simplemente desea ver información sobre sus buckets o los datos que contienen, puede utilizar el comando ls.
Uso
aws s3 ls NINGUNO o[--options]
Ejemplos
Listar todos los buckets de la cuenta
aws s3 ls Salida: 2022-02-02 18:20:14 NOMBRE_CUBO_1 2022-03-20 13:12:43 NOMBRE_CUBO_2 2022-03-29 10:52:33 CUBO_NOMBRE_3
Este comando lista todos los cubos de su cuenta con la fecha de creación del cubo.
Listar todos los objetos de nivel superior de un bucket
aws s3 ls CUBO_NOMBRE_1 o s3://CUBO_NOMBRE_1 Salida: PRE muestraPrefijo/ 2021-12-09 12:23:20 8754 archivo_1.png 2021-12-09 12:23:21 1290 archivo_2.json 2021-12-09 12:23:21 3088 archivo_3.html
Este comando lista todos los objetos de nivel superior de un bucket S3. Observe aquí que los objetos con el prefijo samplePrefix/ no se muestran aquí, sólo los objetos de nivel superior.
Listar todos los objetos de un bucket
aws s3 ls CUBO_NOMBRE_1 o s3://CUBO_NOMBRE_1 --recursive Salida: 2021-12-09 12:23:20 8754 archivo_1.png 2021-12-09 12:23:21 1290 archivo_2.json 2021-12-09 12:23:21 3088 archivo_3.html 2021-12-09 12:23:20 16328 ejemploPrefijo_archivo_1.txt 2021-12-09 12:23:20 29325 prefijo_de_muestra/subfijo_de_muestra/fichero_1.css
Este comando lista todos los objetos de un bucket S3. Observe aquí que también se muestran los objetos con el prefijo samplePrefix/ y todos los subprefijos.
mb
El comando mb se utiliza simplemente para crear nuevos buckets S3. Se trata de un comando bastante sencillo, pero para crear nuevos buckets, el nombre del nuevo bucket debe ser único en todos los buckets de S3.
Uso
aws s3 mb
Ejemplo
Crear un nuevo cubo en una región específica
aws s3 mb myUniqueBucketName --region eu-west-1
mv
El comando mv simplemente mueve los datos hacia y desde los buckets S3. Al igual que el comando cp, el comando mv se utiliza para mover datos de local a S3, de S3 a local, o entre dos cubos S3.
La única diferencia entre el comando mv y el cp es que al utilizar el comando mv el archivo se elimina del origen. AWS mueve este archivo al destino. Hay muchas opciones que puede especificar con el comando.
Uso
aws s3 mv[--options]
Ejemplos
Mover datos de local a S3
aws s3 mv nombre_archivo.txt s3://nombre_archivo/nombre_archivo_2.txt
Mover datos de S3 a local
aws s3 mv s3://nombre_de_bucket/nombre_de_archivo_2.txt nombre_de_archivo.txt
Mover datos entre buckets de S3
aws s3 mv s3://nombre_del_bucket/nombre_del_archivo.txt s3://nombre_del_bucket_2/nombre_del_archivo_2.txt
Mover datos de local a S3 – IA
aws s3 mv nombre_archivo.txt s3://nombre_decarpeta/nombre_archivo_2.txt --storage-class STANDARD_IA
Mover todos los datos de un prefijo en S3 a una carpeta local.
aws s3 mv s3://nombre_del_cubo/algúnPrefijo ./carpeta_local --recursive
presign
El comando presign genera una URL prefirmada para una clave en el bucket de S3. Puede utilizar este comando para generar URL que puedan utilizar otras personas para acceder a un archivo de la clave especificada del bucket de S3.
Uso
aws s3 presign
Ejemplo
Generar una URL prefirmada válida durante 1 hora para un objeto del bucket
aws s3 presign s3://nombre_del_cubo/refijo_de_muestra/nombre_del_archivo.png --expires-in 3600 Salida: https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW/20220314/ap-south-1/s3/aws4_request&X-Amz-Date=20220314T054113Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=f14608bbf3e1f9f8d215eb5b439b87e167b1055bcd7a45c13a33debd3db1be96
rb
El comando rb se utiliza simplemente para eliminar buckets de S3.
Uso
aws rb
Ejemplo
Eliminar un cubo S3
aws s3 mb miNombreDeCubo # Este comando falla si hay datos en este cubo.
Borrar un bucket S3 junto con los datos en el bucket S3.
aws s3 mb myBucketName --force
rm
El comando rm se utiliza simplemente para eliminar los objetos de los cubos S3.
Uso
aws s3 rm
Ejemplos
Eliminar un archivo del bucket S3
aws s3 rm s3://nombre_del_balde/nombre_del_archivo/muestra_prefijo/nombre_del_archivo_2.txt
Eliminar todos los archivos con un prefijo específico en un bucket S3
aws s3 rm s3://nombre_del_bucket/prefijo_de_la_muestra --recursive
Eliminar todos los archivos de un bucket S3
aws s3 rm s3://nombre_del_bucket --recursive
sincronizar
El comando sync copia y actualiza archivos del origen al destino al igual que el comando cp. Es importante que entendamos la diferencia entre el comando cp y el sync. Cuando utiliza cp copia datos del origen al destino incluso si los datos ya existen en el destino.
Tampoco borrará archivos del destino si se han borrado del origen. Sin embargo, sync mira en el destino antes de copiar los datos y sólo copia los archivos nuevos y actualizados. El comando sync es similar a enviar y empujar cambios a una rama remota en git. El comando sync ofrece muchas opciones para personalizar el comando.
Uso
aws s3 sync[--options]
Ejemplos
Sincronizar carpeta local a S3
aws s3 sync ./carpeta_local s3://nombre_carpeta
Sincronizar datos de S3 con una carpeta local
aws s3 sync s3://nombre_de_bucket ./carpeta_local
Sincronizar datos entre dos buckets S3
aws s3 sync s3://nombre_cubo s3://nombre_cubo_2
Mover datos entre dos buckets S3 excluyendo todos los archivos .txt
aws s3 sync s3://nombre_del_bucket s3://nombre_del_bucket_2 --exclude "*.txt
sitio web
Puede utilizar los buckets de S3 para alojar sitios web estáticos. El comando website se utiliza para configurar el alojamiento de sitios web estáticos en S3 para su bucket.
Usted especifica el índice y los archivos de error y el S3 le da una URL donde puede ver el archivo.
Uso
aws s3 website[--options]
Ejemplo
Configure el alojamiento estático para un bucket S3 y especifique los archivos de índice y error
aws s3 website s3://nombre_del_cubo --index-documento index.html --error-documento error.html
Conclusión
Espero que lo anterior le dé una idea sobre algunos de los comandos de AWS S3 utilizados con frecuencia para administrar cubos.