CreateEventSourceMapping - AWS Lambda

CreateEventSourceMapping

Crea un mapeo entre una fuente de eventos y una función de AWS Lambda. Lambda lee elementos en el origen de eventos y desencadena la función.

Para obtener más información acerca de cómo configurar diferentes fuentes de eventos, consulte los temas siguientes.

Las siguientes opciones de administración de errores solo están disponibles para fuentes de flujo (DynamoDB y Kinesis):

  • BisectBatchOnFunctionError: si la función devuelve un error, divida el lote en dos y vuelva a intentarlo.

  • DestinationConfig: envíe los registros descartados a una cola de Amazon SQS o a un tema de Amazon SNS.

  • MaximumRecordAgeInSeconds: descarte los registros anteriores a la edad especificada. El valor predeterminado es infinito (-1). Cuando se establecen en infinito (-1), se vuelven a intentar los registros que han producido error hasta que caduque el registro

  • MaximumRetryAttempts: descarte los registros después del número especificado de reintentos. El valor predeterminado es infinito (-1). Cuando se establecen en infinito (-1), se vuelven a intentar los registros que han producido error hasta que caduque el registro.

  • ParallelizationFactor: procese varios lotes de cada partición de manera simultánea.

Para obtener información acerca de los parámetros de configuración que se aplican a cada fuente de eventos, consulte los temas siguientes.

Sintaxis de la solicitud

POST /2015-03-31/event-source-mappings/ HTTP/1.1 Content-type: application/json { "BatchSize": number, "BisectBatchOnFunctionError": boolean, "DestinationConfig": { "OnFailure": { "Destination": "string" }, "OnSuccess": { "Destination": "string" } }, "Enabled": boolean, "EventSourceArn": "string", "FilterCriteria": { "Filters": [ { "Pattern": "string" } ] }, "FunctionName": "string", "FunctionResponseTypes": [ "string" ], "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "Queues": [ "string" ], "SelfManagedEventSource": { "Endpoints": { "string" : [ "string" ] } }, "SourceAccessConfigurations": [ { "Type": "string", "URI": "string" } ], "StartingPosition": "string", "StartingPositionTimestamp": number, "Topics": [ "string" ], "TumblingWindowInSeconds": number }

Parámetros de solicitud del URI

La solicitud no utiliza ningún parámetro de URI.

Cuerpo de la solicitud

La solicitud acepta los siguientes datos en formato JSON.

BatchSize

El número máximo de registros en cada lote que Lambda extrae del flujo o la cola y envía a su función. Lambda pasa todos los registros del lote a la función en una sola llamada hasta el límite de carga para la invocación síncrona (6 MB).

  • Amazon Kinesis: valor predeterminado 100. Máx. 10 000.

  • Amazon DynamoDB Streams: valor predeterminado 100. Máx. 10 000.

  • Amazon Simple Queue Service: valor predeterminado 10. Para colas estándar, el máximo es 10 000. Para colas FIFO, el máximo es 10.

  • Amazon Managed Streaming for Apache Kafka: predeterminado 100. Máx. 10 000.

  • Apache Kafka autogestionado - Predeterminado 100. Máx. 10 000.

  • Amazon MQ (ActiveMQ y RabbitMQ): Valor predeterminado 100. Máx. 10 000.

Tipo: entero

Rango válido: valor mínimo de 1. Valor máximo de 10000.

Requerido: No

BisectBatchOnFunctionError

(Solo secuencias) Si la función devuelve un error, divida el lote en dos y vuelva a intentarlo.

Tipo: booleano

Requerido: No

DestinationConfig

(Solo secuencias) Una cola de Amazon SQS o un destino de tema de Amazon SNS para registros descartados.

Tipo: objeto DestinationConfig

Requerido: No

Enabled

Cuando es “true”, el mapeo de origen de eventos está activo. Cuando es “false”, Lambda pone en pausa el sondeo y la invocación.

Valor predeterminado: True

Tipo: booleano

Requerido: No

EventSourceArn

El nombre de recurso de Amazon (ARN) del origen de evento.

  • Amazon Kinesis: el ARN del flujo de datos o un consumidor de flujos.

  • Amazon DynamoDB Streams: el ARN del flujo.

  • Amazon Simple Queue Service: el ARN de la cola.

  • Amazon Managed Streaming for Apache Kafka: el ARN del clúster.

Tipo: String

Patrón: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

Requerido: No

FilterCriteria

(Streams y Amazon SQS) Un objeto que define los criterios de filtro que determinan si Lambda debe procesar un evento. Para obtener más información, consulte Filtrado de eventos de Lambda.

Tipo: objeto FilterCriteria

Requerido: No

FunctionName

El nombre de la función de Lambda.

Formatos de nombre

  • Nombre de función: MyFunction.

  • ARN de función: arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • ARN de versión o alias: arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • ARN parcial: 123456789012:function:MyFunction.

La limitación de longitud se aplica únicamente al ARN completo. Si solo especifica el nombre de la función, el límite son 64 caracteres de longitud.

Tipo: String

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 140 caracteres.

Patrón: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Obligatorio: sí

FunctionResponseTypes

(Streams and Amazon SQS) Una lista de enumeraciones de tipo de respuesta actuales aplicadas a la asignación de origen de eventos.

Tipo: matriz de cadenas

Miembros de la matriz: número mínimo de 0 elementos. Número máximo de 1 elemento.

Valores válidos: ReportBatchItemFailures

Requerido: No

MaximumBatchingWindowInSeconds

(Flujos y colas estándar de Amazon SQS) La cantidad de tiempo máxima, en segundos, que Lambda emplea a fin de recopilar registros antes de invocar la función.

Predeterminado: 0

Configuración relacionada: cuando configura BatchSize en un valor superior a 10, debe establecer MaximumBatchingWindowInSeconds en al menos 1.

Tipo: entero

Rango válido: valor mínimo de 0. Valor máximo de 300.

Requerido: No

MaximumRecordAgeInSeconds

(Solo secuencias) Descarte registros anteriores a la edad especificada. El valor predeterminado es infinito (-1).

Tipo: entero

Rango válido: valor mínimo de -1. Valor máximo de 604800.

Requerido: No

MaximumRetryAttempts

(Solo secuencias) Descarte registros después del número de reintentos especificado. El valor predeterminado es infinito (-1). Cuando se establecen en infinito (-1), se volverán a intentar los registros que han producido error hasta que caduque el registro.

Tipo: entero

Rango válido: valor mínimo de -1. Valor máximo de 10000.

Requerido: No

ParallelizationFactor

(Solo secuencias) El número de lotes de cada partición que se procesarán simultáneamente.

Tipo: entero

Rango válido: valor mínimo de 1. Valor máximo de 10.

Requerido: No

Queues

(MQ) Nombre de la cola de destino del agente de Amazon MQ que se va a consumir.

Tipo: matriz de cadenas

Miembros de la matriz: número fijo de 1 elemento.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1000 caracteres.

Patrón: [\s\S]*

Requerido: No

SelfManagedEventSource

El clúster de Apache Kafka autoadministrado para enviar registros.

Tipo: objeto SelfManagedEventSource

Requerido: No

SourceAccessConfigurations

Se requiere una matriz del protocolo de autenticación o los componentes de VPC para proteger la fuente de eventos.

Tipo: Matriz de objetos SourceAccessConfiguration

Miembros de la matriz: número mínimo de 0 elementos. Número máximo de 22 elementos.

Requerido: No

StartingPosition

Posición del flujo donde comienza la lectura. Obligatorio para fuentes de Amazon Kinesis y Amazon DynamoDB y Amazon MSK Streams. AT_TIMESTAMP solo es compatible con flujos de Amazon Kinesis.

Tipo: String

Valores válidos: TRIM_HORIZON | LATEST | AT_TIMESTAMP

Requerido: No

StartingPositionTimestamp

Con StartingPosition establecido en AT_TIMESTAMP, el tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix.

Tipo: marca temporal

Requerido: No

Topics

El nombre del tema de Kafka.

Tipo: matriz de cadenas

Miembros de la matriz: número fijo de 1 elemento.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 249 caracteres.

Patrón: ^[^.]([a-zA-Z0-9\-_.]+)

Requerido: No

TumblingWindowInSeconds

(Solo flujos) La duración de una ventana de procesamiento en segundos. El rango está entre 1 segundo y 900 minutos.

Tipo: entero

Rango válido: valor mínimo de 0. Valor máximo de 900.

Requerido: No

Sintaxis de la respuesta

HTTP/1.1 202 Content-type: application/json { "BatchSize": number, "BisectBatchOnFunctionError": boolean, "DestinationConfig": { "OnFailure": { "Destination": "string" }, "OnSuccess": { "Destination": "string" } }, "EventSourceArn": "string", "FilterCriteria": { "Filters": [ { "Pattern": "string" } ] }, "FunctionArn": "string", "FunctionResponseTypes": [ "string" ], "LastModified": number, "LastProcessingResult": "string", "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "Queues": [ "string" ], "SelfManagedEventSource": { "Endpoints": { "string" : [ "string" ] } }, "SourceAccessConfigurations": [ { "Type": "string", "URI": "string" } ], "StartingPosition": "string", "StartingPositionTimestamp": number, "State": "string", "StateTransitionReason": "string", "Topics": [ "string" ], "TumblingWindowInSeconds": number, "UUID": "string" }

Elementos de respuesta

Si la acción se realiza correctamente, el servicio devuelve una respuesta HTTP 202.

El servicio devuelve los datos siguientes en formato JSON.

BatchSize

El número máximo de registros en cada lote que Lambda extrae del flujo o la cola y envía a su función. Lambda pasa todos los registros del lote a la función en una sola llamada hasta el límite de carga para la invocación síncrona (6 MB).

Valor predeterminado: varía según el servicio. Para Amazon SQS, el valor predeterminado es 10. Para todos los demás servicios, el valor predeterminado es 100.

Configuración relacionada: cuando configura BatchSize en un valor superior a 10, debe establecer MaximumBatchingWindowInSeconds en al menos 1.

Tipo: entero

Rango válido: valor mínimo de 1. Valor máximo de 10000.

BisectBatchOnFunctionError

(Solo secuencias) Si la función devuelve un error, divida el lote en dos y vuelva a intentarlo. El valor predeterminado es false.

Tipo: booleano

DestinationConfig

(Solo secuencias) Una cola de Amazon SQS o un destino de tema de Amazon SNS para registros descartados.

Tipo: objeto DestinationConfig

EventSourceArn

El nombre de recurso de Amazon (ARN) del origen de evento.

Tipo: String

Patrón: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

FilterCriteria

(Streams y Amazon SQS) Un objeto que define los criterios de filtro que determinan si Lambda debe procesar un evento. Para obtener más información, consulte Filtrado de eventos de Lambda.

Tipo: objeto FilterCriteria

FunctionArn

El ARN de la función Lambda.

Tipo: String

Patrón: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

FunctionResponseTypes

(Streams and Amazon SQS) Una lista de enumeraciones de tipo de respuesta actuales aplicadas a la asignación de origen de eventos.

Tipo: matriz de cadenas

Miembros de la matriz: número mínimo de 0 elementos. Número máximo de 1 elemento.

Valores válidos: ReportBatchItemFailures

LastModified

La fecha en la que se actualizó por última vez el mapeo de fuente del evento o en que su estado cambió, en segundos de tiempo Unix.

Tipo: marca temporal

LastProcessingResult

El resultado de la última invocación de Lambda de su función.

Tipo: String

MaximumBatchingWindowInSeconds

(Flujos y colas estándar de Amazon SQS) La cantidad de tiempo máxima, en segundos, que Lambda emplea a fin de recopilar registros antes de invocar la función.

Predeterminado: 0

Configuración relacionada: cuando configura BatchSize en un valor superior a 10, debe establecer MaximumBatchingWindowInSeconds en al menos 1.

Tipo: entero

Rango válido: valor mínimo de 0. Valor máximo de 300.

MaximumRecordAgeInSeconds

(Solo secuencias) Descarte registros anteriores a la edad especificada. El valor predeterminado es -1, que establece la edad máxima en infinita. Cuando el valor se establece en infinito, Lambda nunca descarta los registros antiguos.

Tipo: entero

Rango válido: valor mínimo de -1. Valor máximo de 604 800.

MaximumRetryAttempts

(Solo secuencias) Descarte registros después del número de reintentos especificado. El valor predeterminado es -1, que establece el número máximo de reintentos en infinito. Cuando MaximumRetryAttempts es infinito, Lambda reintenta los registros fallidos hasta que el registro caduque en la fuente de eventos.

Tipo: entero

Rango válido: valor mínimo de -1. Valor máximo de 10000.

ParallelizationFactor

(Solo flujos) El número de lotes de cada partición que se procesarán en forma simultánea. El valor predeterminado es 1.

Tipo: entero

Rango válido: valor mínimo de 1. Valor máximo de 10.

Queues

(Amazon MQ) El nombre de la cola de destino del agente de Amazon MQ que se va a consumir.

Tipo: matriz de cadenas

Miembros de la matriz: número fijo de 1 elemento.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 1000 caracteres.

Patrón: [\s\S]*

SelfManagedEventSource

El clúster de Apache Kafka autoadministrado para la fuente de eventos.

Tipo: objeto SelfManagedEventSource

SourceAccessConfigurations

Una matriz del protocolo de autenticación, los componentes de VPC o el host virtual para proteger y definir su fuente de eventos.

Tipo: Matriz de objetos SourceAccessConfiguration

Miembros de la matriz: número mínimo de 0 elementos. Número máximo de 22 elementos.

StartingPosition

Posición del flujo donde comienza la lectura. Obligatorio para fuentes de Amazon Kinesis, Amazon DynamoDB y Amazon MSK Streams. AT_TIMESTAMP solo es compatible con Amazon Kinesis Streams.

Tipo: String

Valores válidos: TRIM_HORIZON | LATEST | AT_TIMESTAMP

StartingPositionTimestamp

Con StartingPosition establecido en AT_TIMESTAMP, el tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix.

Tipo: marca temporal

State

El estado del mapeo de fuente de eventos. Puede ser uno de los siguientes: Creating, Enabling, Enabled, Disabling, Disabled, Updating, o Deleting.

Tipo: String

StateTransitionReason

Indica si un usuario o Lambda realizaron el último cambio en el mapeo de fuente de eventos.

Tipo: String

Topics

El nombre del tema de Kafka.

Tipo: matriz de cadenas

Miembros de la matriz: número fijo de 1 elemento.

Limitaciones de longitud: longitud mínima de 1. La longitud máxima es de 249 caracteres.

Patrón: ^[^.]([a-zA-Z0-9\-_.]+)

TumblingWindowInSeconds

(Solo flujos) La duración de una ventana de procesamiento en segundos. El rango va de 1 a 900 segundos.

Tipo: entero

Rango válido: valor mínimo de 0. Valor máximo de 900.

UUID

El identificador del mapeo de fuente de eventos.

Tipo: String

Errores

InvalidParameterValueException

Uno de los parámetros de la solicitud no es válido.

Código de estado HTTP: 400

ResourceConflictException

El recurso ya existe o hay otra operación en marcha.

Código de estado HTTP: 409

ResourceNotFoundException

El recurso especificado en la solicitud no existe.

Código de estado HTTP: 404

ServiceException

El servicio AWS Lambda detectó un error interno.

Código de estado HTTP: 500

TooManyRequestsException

Se ha superado el límite de rendimiento de la solicitud.

Código de estado HTTP: 429

Véase también

Para obtener más información sobre el uso de esta API en un SDK de AWS de un lenguaje específico, consulte: