Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

569
Vistas
¿Desencadenador basado en eventos de AWS Glue Crawler después de cargar un archivo en un S3 Bucket?

¿Es posible activar un rastreador de AWS Glue en archivos nuevos, que se cargan en un depósito de S3, dado que el rastreador "apunta" a ese depósito? En otras palabras: la carga de un archivo genera un evento que hace que el rastreador de AWS Glue lo analice. Sé que existe un rastreo basado en programación, pero nunca encontré uno basado en eventos.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Como inicio rápido, aquí hay una cuenta detallada de cómo crear un Lambda en Python para hacer esto. Esta es la primera vez que creo un Lambda para YMMV.

  1. Para ahorrar tiempo, seleccione 'Crear función' y luego haga clic en 'Blueprints'. Seleccione la muestra llamada 's3-get-object-python' y haga clic en 'Configurar'
  2. Complete el nombre de Lambda y cree un nuevo Rol a menos que ya tenga uno.
  3. El asistente configurará el disparador S3 al mismo tiempo
  4. Una vez que lo cree, deberá encontrar el Rol que creó y agregar un nuevo permiso a través de una política que contenga:

"Action": "glue:StartCrawler", "Resource": "*"

  1. Cambia el código a algo como:
 from __future__ import print_function import json import boto3 print('Loading function') glue = boto3.client(service_name='glue', region_name='ap-southeast-2', endpoint_url='https://glue.ap-southeast-2.amazonaws.com') def lambda_handler(event, context): #print("Received event: " + json.dumps(event, indent=2)) try: glue.start_crawler(Name='my-glue-crawler') except Exception as e: print(e) print('Error starting crawler') raise e

Finalmente, suponiendo que seleccionó que el disparador debe estar deshabilitado durante el desarrollo, haga clic en el disparador S3 desde el panel del diseñador y asegúrese de que esté habilitado (es posible que deba guardar la lambda después de realizar este cambio)

Eso es todo, pero tenga en cuenta que se lanzará una excepción si el rastreador ya se está ejecutando, por lo que querrá manejar eso si tiene cargas frecuentes o rastreos largos. Consulte: https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-crawling.html#aws-glue-api-crawler-crawling-StartCrawler

Editar:

Esto me ayudó con el manejo de excepciones (de AWS Glue): https://github.com/boto/boto3/issues/1606#issuecomment-401423567

over 4 years ago · Santiago Trujillo Denunciar

0

No, actualmente no existe una forma directa de invocar un rastreador de AWS Glue en respuesta a una carga en un depósito de S3. Las notificaciones de eventos de S3 solo se pueden enviar a:

  • redes sociales
  • SQS
  • lambda

Sin embargo, sería trivial escribir un pequeño fragmento de código Lambda para invocar mediante programación un rastreador de Glue utilizando el SDK del lenguaje correspondiente.

over 4 years ago · Santiago Trujillo Denunciar

0

ingrese la descripción de la imagen aquíAquí hay una guía paso a paso (enlace a continuación) para una arquitectura similar. (Consulte la imagen de arriba para ver la arquitectura)

https://wellarchitechedlabs.com/Cost/Cost_and_Usage_Analysis/300_Automated_CUR_Updates_and_Ingestion/Lab_Guide.html

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda