es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Renombrar archivos del depósito S3 con un título que contenga detalles del usuario, como el nombre.

Necesito renombrar archivos en un bucket de s3 y me preguntaba si existe alguna manera de renombrar los archivos consultando un script SQL de manera que pueda devolver la información y utilizarla para actualizar el nombre del archivo.

Por ejemplo, un archivo en s3 sería: 00123456789.word

//Algun Script SQL
select u.name, a.address from users u
left join address a
on u.id = a.id
where u.id = 00123456789

— devuelve George Washington / 111 abc street

Luego, de alguna manera, utilizar los datos devueltos al ejecutar el script SQL para renombrar el archivo.

george111street.word

Probablemente necesitaré utilizar la línea de comandos (CLI) ya que hay muchos archivos y renombrarlos manualmente sería irracional.

¿Es esto posible de hacer o existe algún otro método?

EDICIÓN:
¿Existe alguna manera de hacer esto de forma programática?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Lamentablemente, no es posible realizar consultas a un script de SQL para cambiar el nombre de archivos en un bucket de S3, ya que S3 no admite consultas SQL. El cambio de nombre de archivos en un bucket de S3 se puede lograr de manera programática utilizando SDKs de AWS como Boto3 para Python o AWS CLI.

    Una posible solución podría ser utilizar Boto3 para listar todos los archivos en el bucket, extraer la porción relevante del nombre del archivo con base en los metadatos, consultar la base de datos para obtener el nombre actualizado en el formato deseado y luego utilizar Boto3 para cambiar el nombre de los archivos en el bucket según el nombre actualizado.

    Otra solución podría ser utilizar AWS Lambda para activar automáticamente una función cada vez que se carguen nuevos archivos en el bucket de S3. La función de Lambda puede luego leer los metadatos del archivo, hacer una consulta a la base de datos para obtener el nombre actualizado y cambiar el nombre del archivo en consecuencia.

    Ambos métodos son posibles de manera programática y automatizarían el proceso de cambio de nombre, ahorrando tiempo y esfuerzo a largo plazo.

Comments are closed.