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.

Ejecutar disparador de DynamoDB para tipos de eventos específicos.

Cada vez que hay un cambio en la tabla Dynamo, se ejecuta un disparador que luego ejecuta una función lambda. Por ahora, el desencadenador se ejecuta cada vez que agrego o elimino un archivo. En su lugar, solo quiero que se ejecute el desencadenador si el tipo de evento es INSERTAR. ¿Cómo puedo lograr esto?

recurso "awsdynamodbtable" "filenames" {
  nombre         = local.dynamodbtablefilenames
  modo_de_facturación   = "PROVISIONADO"
  capacidad_de_lectura  = 1000
  capacidad_de_escritura = 1000
  clave_hash       = "nombre de archivo"
  stream_habilitado = true
  tipo_vista_de_stream = "NUEVA IMAGEN"

#clave_rango      = ""

atributo {
    nombre = "nombre de archivo"
    tipo = "S"
  }

etiquetas = var.etiquetas
}

recurso "awslambdaeventsourcemapping" "allowdynamodbtabletotriggerlambda" {
  arn_eventsource = awsdynamodbtable.filenames.streamarn
  nombre_de_la_función     = awslambdafunction.triggerstepfunctionlambda.arn
  posición_de_inicio = "ÚLTIMO"
}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puedes lograr esto añadiendo un parámetro adicional al recurso aws_lambda_event_source_mapping. El parámetro batch_size te permite especificar la cantidad de registros que deben ser leídos del flujo a la vez. También puedes agregar el parámetro enabled para habilitar o deshabilitar el mapeo de la fuente de eventos. Además, puedes agregar el parámetro batch_window_in_seconds para especificar el tiempo máximo de espera antes de leer el siguiente lote de registros. Finalmente, puedes agregar el parámetro starting_position para especificar la posición en el flujo donde la función Lambda debe comenzar a leer. Este parámetro puede establecerse como LATEST o TRIM_HORIZON para leer solo registros nuevos o todos los registros respectivamente.

Comments are closed.