Searching...
lunes, 17 de abril de 2023

Ingesta de objetos S3 mediante Lambda

 https://docs.aws.amazon.com/lambda/latest/dg/lambda-deploy-functions.html

https://blog.rockthejvm.com/lambda/

https://blog.codecentric.de/aws-lambda-cold-boot-and-mean-response-times-in-scala-vs-java#

https://repost.aws/knowledge-center/lambda-copy-s3-files

Para que el equipo de arquitectura pueda transferir los datos de la fuente al "sync bucket" en S3, necesitarás proporcionarles la siguiente información:

  1. Ubicación de los datos de la fuente: Es importante que especifiques la ubicación exacta de los datos que deben ser transferidos al bucket de sincronización.
  2. Formato de los datos: Deberás indicar el formato de los datos de la fuente para que el equipo de arquitectura pueda procesarlos adecuadamente al transferirlos al bucket.
  3. Tamaño de los datos: Es importante conocer el tamaño de los datos para determinar el tiempo y los recursos necesarios para completar la transferencia.
  4. Política de retención de datos: Si existen políticas de retención de datos para la fuente, deberás proporcionar esta información para que el equipo de arquitectura pueda transferir y retener los datos según las políticas aplicables.
  5. Requisitos de seguridad: Si existen requisitos de seguridad específicos para los datos de la fuente, deberás especificarlos para asegurar que se transfieran de manera segura.
  6. Nombre y ubicación del "sync bucket": Deberás proporcionar el nombre y la ubicación del bucket de sincronización en S3 al que los datos de la fuente deben ser transferidos.
  7. Permisos de acceso: Si existen restricciones de acceso para el bucket de sincronización, deberás proporcionar los permisos necesarios para que el equipo de arquitectura pueda realizar la transferencia de datos.
  8. Planificación de la transferencia de datos: Es importante que se planifique la transferencia de datos para evitar interrupciones en el acceso a los datos por parte de otros usuarios y aplicaciones.

Tambien es importante indicar el formato de los datos que se van a transferir (por ejemplo, CSV, Avro, Parquet, JSON, etc.) y si es necesario aplicar algún tipo de transformación o filtrado de los datos antes de transferirlos. Además, se debe especificar el nivel de acceso que deben tener los usuarios o roles para poder leer o escribir en el bucket y asegurarse de que se han configurado adecuadamente las políticas de acceso y permisos en AWS IAM y S3. Por último, se debe definir si se van a utilizar herramientas de automatización para realizar la transferencia, como AWS Data Pipeline o AWS Glue, y cómo se van a monitorear y manejar los errores en caso de que ocurran.


Para solicitar al equipo de arquitectura la configuración de una Lambda de AWS para transferir datos de un bucket de origen a un bucket de destino en S3 cada vez que llega un objeto al bucket de origen, se necesita proporcionar la siguiente información:

    1. Los nombres de los buckets de origen y destino.
    2. El tipo de evento que activará la función Lambda. En este caso, sería el evento de creación de objeto en el bucket de origen.
    3. El tipo de formato de los datos que se encuentran en el bucket de origen.
    4. La configuración necesaria para la conexión de la función Lambda con los buckets de origen y destino.
    5. Las políticas de seguridad necesarias para permitir que la función Lambda acceda a los buckets de origen y destino.
    6. Las características de escalabilidad y tolerancia a fallos que se deben considerar al configurar la función Lambda
    7. Los recursos necesarios para la ejecución de la función Lambda, como memoria, tiempo máximo de ejecución, etc.
    8. La configuración de registro de la función Lambda para la monitorización y el registro de eventos y errores.
    9. Cualquier otra información relevante para la configuración de la función Lambda.
Es importante asegurarse de proporcionar toda la información necesaria y detallada para que el equipo de arquitectura pueda configurar la función Lambda de manera adecuada y eficiente.

Para agregar una capa (layer) a una función Lambda en AWS, puedes seguir los siguientes pasos:

  1. Crear una capa Lambda: En la consola de AWS, ve a "Capas" y haz clic en "Crear capa". Ingresa los detalles requeridos y carga tu código o bibliotecas en un archivo ZIP.
  2. Asocia la capa a una función Lambda existente: En la consola de AWS, ve a la sección "Funciones" y selecciona la función Lambda a la que deseas agregar la capa. En la pestaña "Capas", haz clic en "Agregar capa" y selecciona la capa que deseas agregar.
  3. Usa la capa en tu función Lambda: En el código de tu función Lambda, puedes usar la capa agregando la ruta de la biblioteca en la capa al archivo requirements.txt. Por ejemplo, si tienes una biblioteca llamada mylib en la capa agregada, agrega la línea mylib==x.x.x al archivo requirements.txt.
También puedes agregar una capa a una función Lambda a través de la CLI de AWS o mediante código utilizando la API de AWS Lambda.

Para probar una función Lambda con un trigger S3, puedes seguir los siguientes pasos:

  1. Crea un bucket de S3 y sube un archivo que simule los datos de entrada que la función Lambda procesará.
  2. Crea una función Lambda y configura el trigger de S3. Asegúrate de seleccionar el bucket y la carpeta que contienen el archivo que subiste en el paso 1.
  3. Carga el código de la función Lambda en la consola de AWS Lambda o en tu editor de código preferido. Asegúrate de que la función esté diseñada para procesar los datos que se encuentran en el archivo que subiste en el paso 1.
  4. Ejecuta la función Lambda. Esto disparará el trigger de S3 y la función procesará los datos que se encuentran en el archivo que subiste en el paso 1.
Ten en cuenta que si la función Lambda procesa grandes volúmenes de datos o tarda mucho tiempo en completar su ejecución, es posible que necesites aumentar los límites de tiempo y memoria de la función para asegurarte de que funcione correctamente.

0 comentarios:

Publicar un comentario

Gracias por participar en esta página.

 
Back to top!