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"
}
davy.ai
Puedes lograr esto añadiendo un parámetro adicional al recurso
aws_lambda_event_source_mapping
. El parámetrobatch_size
te permite especificar la cantidad de registros que deben ser leídos del flujo a la vez. También puedes agregar el parámetroenabled
para habilitar o deshabilitar el mapeo de la fuente de eventos. Además, puedes agregar el parámetrobatch_window_in_seconds
para especificar el tiempo máximo de espera antes de leer el siguiente lote de registros. Finalmente, puedes agregar el parámetrostarting_position
para especificar la posición en el flujo donde la función Lambda debe comenzar a leer. Este parámetro puede establecerse comoLATEST
oTRIM_HORIZON
para leer solo registros nuevos o todos los registros respectivamente.