9 comandos de AWS S3 con ejemplos para administrar cubos y datos
Publicado: 2022-03-15El control y la gestión de datos pueden ser una tarea ardua. Estos comandos de AWS S3 lo ayudarán a administrar de manera rápida y eficiente sus depósitos y datos de AWS S3.
AWS S3 es el servicio de almacenamiento de objetos proporcionado por AWS. Es el servicio de almacenamiento más utilizado de AWS que puede almacenar virtualmente 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 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 usando S3 en su proyecto, sabrá que dada la gran cantidad de capacidad de almacenamiento, la administración de cientos de depósitos y terabytes de datos en estos depósitos puede ser un trabajo exigente. Tenemos una lista de comandos de AWS S3 con ejemplos que puede usar para administrar sus depósitos y datos de AWS S3 de manera eficiente.
Configuración de la CLI de AWS
Una vez que haya descargado e instalado correctamente la AWS CLI, debe configurar las credenciales de AWS para poder acceder a su cuenta y servicios de AWS. Veamos 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 AWS CLI.

Dar los permisos y crear un usuario. En la pantalla final, después de crear con éxito este usuario, copie el ID de la clave de acceso y la clave de acceso secreta para este usuario. Usaremos estas credenciales para iniciar sesión a través de la CLI de AWS.

Ahora ve a la terminal de tu elección y ejecuta el siguiente comando.
configurar aws
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 usar el formato JSON. Esto no es gran cosa, siempre puede cambiar estos valores más adelante.

Ahora puede ejecutar cualquier comando de la CLI de AWS en la consola. Pasemos ahora a través de los comandos de AWS S3.
c.p.
El comando cp simplemente copia los datos hacia y desde los depósitos S3. Se puede usar para copiar archivos de local a S3, de S3 a local y entre dos cubos de S3. Hay muchos otros parámetros que puede proporcionar 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 configurar el cifrado y mucho más. El comando cp le brinda control total sobre cómo configura la seguridad de sus datos en S3.
Uso
aws s3 cp <ORIGEN> <DESTINO> [--opciones]
Ejemplos
Copie datos de local a S3
aws s3 cp nombre_archivo.txt s3://nombre_depósito/nombre_archivo_2.txt
Copie datos de S3 a local
aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt
Copie datos entre depósitos S3
aws s3 cp s3://nombre_depósito/nombre_de_archivo.txt s3://nombre_depósito_2/nombre_de_archivo_2.txt
Copie datos de local a S3 – IA
aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA
Copie todos los datos de una carpeta local a S3
aws s3 cp ./local_folder s3://bucket_name --recursivo
ls
El comando ls se usa para enumerar los cubos o el contenido de los cubos. Entonces, si simplemente desea ver información sobre sus cubos o los datos en estos cubos, puede usar el comando ls.
Uso:
aws s3 ls NINGUNO o <BUCKET_NAME> [--opciones]
Ejemplos
Enumerar todos los cubos en la cuenta
aws s3 ls Producción: 2022-02-02 18:20:14 CUBO_NOMBRE_1 2022-03-20 13:12:43 CUBO_NOMBRE_2 2022-03-29 10:52:33 CUBO_NOMBRE_3
Este comando enumera todos los cubos en su cuenta con la fecha de creación del cubo.
Enumerar todos los objetos de nivel superior en un cubo
aws s3 ls CUBO_NOMBRE_1 o s3://CUBO_NOMBRE_1 Producción: 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 enumera todos los objetos de nivel superior en un depósito S3. Tenga en cuenta aquí que los objetos con el prefijo samplePrefix/ no se muestran aquí, solo los objetos de nivel superior.
Listar todos los objetos en un cubo
aws s3 ls BUCKET_NAME_1 o s3://BUCKET_NAME_1 --recursivo Producción: 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 muestraPrefijo/archivo_1.txt 2021-12-09 12:23:20 29325 muestraPrefijo/muestraSubPrefijo/archivo_1.css
Este comando enumera todos los objetos en un depósito S3. Tenga en cuenta aquí que también se muestran los objetos con el prefijo samplePrefix/ y todos los subprefijos.
megabyte
El comando mb simplemente se usa para crear nuevos depósitos S3. Este es un comando bastante simple, pero para crear nuevos depósitos, el nombre del nuevo depósito debe ser único en todos los depósitos de S3.
Uso
aws s3 mb <BUCKET_NAME>
Ejemplo
Crear un nuevo depósito en una región específica
aws s3 mb myUniqueBucketName --región eu-west-1
m.v.
El comando mv simplemente mueve los datos hacia y desde los depósitos S3. Al igual que el comando cp, el comando mv se usa para mover datos de local a S3, S3 a local o entre dos depósitos de S3.

La única diferencia entre el comando mv y cp es que cuando se usa el comando mv, el archivo se elimina de la fuente. AWS mueve este archivo al destino. Hay muchas opciones que puede especificar con el comando.
Uso
aws s3 mv <ORIGEN> <DESTINO> [--opciones]
Ejemplos
Mover datos de local a S3
aws s3 mv nombre_archivo.txt s3://nombre_depósito/nombre_archivo_2.txt
Mover datos de S3 a local
aws s3 mv s3://bucket_name/file_name_2.txt file_name.txt
Mover datos entre depósitos S3
aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt
Mover datos de local a S3 – IA
aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA
Mueva todos los datos de un prefijo en S3 a una carpeta local.
aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive
prefirmar
El comando presign genera una URL prefirmada para una clave en el depósito S3. Puede usar este comando para generar direcciones URL que otros pueden usar para acceder a un archivo en la clave de depósito de S3 especificada.
Uso
aws s3 presign <OBJECT_KEY> –expires-in <TIME_IN_SECONDS>
Ejemplo
Genere una URL prefirmada que sea válida durante 1 hora para un objeto en el depósito.
aws s3 presign s3://bucket_name/samplePrefix/file_name.png --expira-en 3600 Producción: https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW%2F20220314%2Fap-south-1% 2Fs3%2Faws4_request&X-Amz-Date=20220314T054113Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=f14608bbf3e1f9f8d215eb5b439b87e167b1055bcd7a4bedec13d6a45bd13d6a45bd13
rb
El comando rb simplemente se usa para eliminar depósitos S3.
Uso
aws rb <BUCKET_NAME>
Ejemplo
Elimine un depósito de S3.
aws s3 mb myBucketName # Este comando falla si hay datos en este depósito.
Elimine un depósito de S3 junto con los datos del depósito de S3.
aws s3 mb myBucketName --force
rm
El comando rm simplemente se usa para eliminar los objetos en los depósitos S3.
Uso
aws s3 rm <S3Uri_To_The_File>
Ejemplos
Elimine un archivo del depósito S3.
aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt
Elimine todos los archivos con un prefijo específico en un depósito S3.
aws s3 rm s3://bucket_name/sample_prefix --recursivo
Elimine todos los archivos en un depósito S3.
aws s3 rm s3://bucket_name --recursivo
sincronizar
El comando sync copia y actualiza archivos desde el origen hasta el destino al igual que el comando cp. Es importante que entendamos la diferencia entre el comando cp y sync. Cuando usa cp, copia datos del origen al destino incluso si los datos ya existen en el destino.
Tampoco eliminará los archivos del destino si se eliminan del origen. Sin embargo, la sincronización mira el destino antes de copiar sus datos y solo copia los archivos nuevos y actualizados. El comando de sincronización es similar a confirmar y enviar cambios a una rama remota en git. El comando de sincronización ofrece muchas opciones para personalizar el comando.
Uso
aws s3 sync <ORIGEN> <DESTINO> [--opciones]
Ejemplos
Sincronizar carpeta local con S3
aws s3 sync ./local_folder s3://bucket_name
Sincronizar datos S3 a una carpeta local
aws s3 sync s3://bucket_name ./local_folder
Sincronizar datos entre dos cubos S3
aws s3 sync s3://nombre_depósito s3://nombre_depósito_2
Mueva datos entre dos cubos S3 excluyendo todos los archivos .txt
aws s3 sync s3://bucket_name s3://bucket_name_2 --exclude "*.txt
sitio web
Puede usar depósitos S3 para alojar sitios web estáticos. El comando del sitio web se usa para configurar el alojamiento del sitio web estático de S3 para su depósito.
Usted especifica el índice y los archivos de error y el S3 le proporciona una URL donde puede ver el archivo.
Uso
sitio web de aws s3 <S3_URI> [--opciones]
Ejemplo:
Configure el alojamiento estático para un depósito S3 y especifique los archivos de índice y error
sitio web de aws s3 s3://bucket_name --index-document index.html --error-document error.html
Conclusión
Espero que lo anterior le dé una idea sobre algunos de los comandos de AWS S3 que se usan con frecuencia para administrar depósitos. Si está interesado en obtener más información, puede consultar los detalles de la certificación de AWS.