CreateEventSourceMapping
Crea un mapeo entre una fuente de eventos y una función de AWS Lambda. Lambda lee los elementos del origen de eventos e invoca 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 gestión de errores solo están disponibles para las 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
{
"AmazonManagedKafkaEventSourceConfig": {
"ConsumerGroupId": "string
"
},
"BatchSize": number
,
"BisectBatchOnFunctionError": boolean
,
"DestinationConfig": {
"OnFailure": {
"Destination": "string
"
},
"OnSuccess": {
"Destination": "string
"
}
},
"DocumentDBEventSourceConfig": {
"CollectionName": "string
",
"DatabaseName": "string
",
"FullDocument": "string
"
},
"Enabled": boolean
,
"EventSourceArn": "string
",
"FilterCriteria": {
"Filters": [
{
"Pattern": "string
"
}
]
},
"FunctionName": "string
",
"FunctionResponseTypes": [ "string
" ],
"MaximumBatchingWindowInSeconds": number
,
"MaximumRecordAgeInSeconds": number
,
"MaximumRetryAttempts": number
,
"ParallelizationFactor": number
,
"Queues": [ "string
" ],
"ScalingConfig": {
"MaximumConcurrency": number
},
"SelfManagedEventSource": {
"Endpoints": {
"string
" : [ "string
" ]
}
},
"SelfManagedKafkaEventSourceConfig": {
"ConsumerGroupId": "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.
- AmazonManagedKafkaEventSourceConfig
-
Ajustes de configuración específicos para orígenes de eventos de Amazon Managed Streaming para Apache Kafka (Amazon MSK).
Tipo: objeto AmazonManagedKafkaEventSourceConfig
Obligatorio: no
- 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 para Apache Kafka: valor predeterminado 100. Máx. 10 000.
-
Apache Kafka autoadministrado: valor predeterminado 100. Máx. 10 000.
-
Amazon MQ (ActiveMQ y RabbitMQ): valor predeterminado 100. Máx. 10 000.
-
DocumentDB: valor predeterminado 100. Máx. 10 000.
Tipo: entero
Rango válido: valor mínimo de 1. Valor máximo de 10000.
Obligatorio: no
-
- BisectBatchOnFunctionError
-
(Solo Kinesis y DynamoDB Streams) Si la función devuelve un error, divida el lote en dos y vuelva a intentarlo.
Tipo: Booleano
Obligatorio: no
- DestinationConfig
-
(Solo para Kinesis, DynamoDB Streams, Amazon MSK y Kafka autoadministrado) Un objeto de configuración que especifica el destino de un evento después de que Lambda lo procese.
Tipo: objeto DestinationConfig
Obligatorio: no
- DocumentDBEventSourceConfig
-
Ajustes de configuración específicos para un origen de eventos de DocumentDB.
Tipo: objeto DocumentDBEventSourceConfig
Obligatorio: 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
Obligatorio: 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 para Apache Kafka: el ARN del clúster o el ARN de la conexión de VPC (para la asignación de orígenes de eventos entre cuentas).
-
Amazon MQ: el ARN del agente.
-
Amazon DocumentDB: el ARN del flujo de cambios de DocumentDB.
Tipo: String
Patrón:
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
Obligatorio: no
-
- FilterCriteria
-
Un objeto que define los criterios de filtro que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulte Filtrado de eventos de Lambda.
Tipo: objeto FilterCriteria
Obligatorio: no
- FunctionName
-
El nombre de la función de Lambda.
Formatos de nombre
-
Nombre de la función:
MyFunction
. -
ARN de la función:
arn:aws:lambda:us-west-2:123456789012:function:MyFunction
. -
ARN de la versión o el 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: cadena
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
-
(Kinesis, DynamoDB Streams, and Amazon SQS) Una lista de enumeraciones de tipo de respuesta actuales aplicadas a la asignación de orígenes de eventos.
Tipo: matriz de cadenas
Miembros de la matriz: número mínimo de 0 artículos. Número máximo de 1 elemento.
Valores válidos:
ReportBatchItemFailures
Obligatorio: no
- MaximumBatchingWindowInSeconds
-
La cantidad de tiempo máxima, en segundos, que Lambda emplea a fin de recopilar registros antes de invocar la función. Puede configurar
MaximumBatchingWindowInSeconds
como cualquier valor entre 0 segundos y 300 segundos, en incrementos de segundos.En el caso de los flujos y los orígenes de eventos de Amazon SQS, el periodo de procesamiento por lotes predeterminado es de 0 segundos. En el caso de los orígenes de eventos de Amazon MSK, Apache Kafka autoadministrado, Amazon MQ y DocumentDB, el periodo de procesamiento por lotes predeterminado es de 500 ms. Tenga en cuenta que como solo puede cambiar
MaximumBatchingWindowInSeconds
en incrementos de segundos, no puede volver al periodo de procesamiento por lotes predeterminado de 500 ms después de haberlo cambiado. Para restaurar el plazo de procesamiento por lotes predeterminado, debe crear una nueva asignación de origen de eventos.Configuración relacionada: en el caso de los flujos y los orígenes de eventos de Amazon SQS, cuando establece
BatchSize
en un valor superior a 10, debe establecerMaximumBatchingWindowInSeconds
en al menos 1.Tipo: entero
Rango válido: valor mínimo de 0. Valor máximo de 300.
Obligatorio: no
- MaximumRecordAgeInSeconds
-
(Solo Kinesis y DynamoDB Streams) 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.
Obligatorio: no
- MaximumRetryAttempts
-
(Solo Kinesis y DynamoDB Streams) Descarte registros después del número de reintentos especificado. 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.
Tipo: entero
Rango válido: valor mínimo de -1. Valor máximo de 10000.
Obligatorio: no
- ParallelizationFactor
-
(Solo Kinesis y DynamoDB Streams) El número de lotes de cada partición que se procesarán en simultáneo.
Tipo: entero
Rango válido: valor mínimo de 1. Valor máximo de 10.
Obligatorio: 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]*
Obligatorio: no
- ScalingConfig
-
(Solo Amazon SQS) La configuración de escalado de orígenes de eventos. Para obtener más información, consulte Configuración de la simultaneidad máxima para los orígenes de eventos de Amazon SQS.
Tipo: objeto ScalingConfig
Obligatorio: no
- SelfManagedEventSource
-
El clúster de Apache Kafka autoadministrado del que se recibirán registros.
Tipo: objeto SelfManagedEventSource
Obligatorio: no
- SelfManagedKafkaEventSourceConfig
-
Ajustes de configuración específicos para un origen de eventos de Apache Kafka autoadministrados.
Tipo: objeto SelfManagedKafkaEventSourceConfig
Obligatorio: 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 artículos. Número máximo de 22 elementos.
Obligatorio: no
- StartingPosition
-
La posición en el flujo donde comienza la lectura. Obligatorio para los orígenes de eventos de Amazon Kinesis y Amazon DynamoDB Stream.
AT_TIMESTAMP
solo es compatible con flujos de Amazon Kinesis, Amazon DocumentDB, Amazon MSK y Apache Kafka autoadministrado.Tipo: cadena
Valores válidos:
TRIM_HORIZON | LATEST | AT_TIMESTAMP
Obligatorio: no
- StartingPositionTimestamp
-
Con
StartingPosition
, configure enAT_TIMESTAMP
el tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix.StartingPositionTimestamp
no puede ser futura.Tipo: marca temporal
Obligatorio: 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\-_.]+)
Obligatorio: no
- TumblingWindowInSeconds
-
(Solo Kinesis y DynamoDB Streams) La duración en segundos de una ventana de procesamiento para orígenes de eventos de DynamoDB y Kinesis Streams. Un valor de 0 segundos indica que no hay ventanas caídas.
Tipo: entero
Rango válido: valor mínimo de 0. Valor máximo de 900.
Obligatorio: no
Sintaxis de la respuesta
HTTP/1.1 202
Content-type: application/json
{
"AmazonManagedKafkaEventSourceConfig": {
"ConsumerGroupId": "string"
},
"BatchSize": number,
"BisectBatchOnFunctionError": boolean,
"DestinationConfig": {
"OnFailure": {
"Destination": "string"
},
"OnSuccess": {
"Destination": "string"
}
},
"DocumentDBEventSourceConfig": {
"CollectionName": "string",
"DatabaseName": "string",
"FullDocument": "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" ],
"ScalingConfig": {
"MaximumConcurrency": number
},
"SelfManagedEventSource": {
"Endpoints": {
"string" : [ "string" ]
}
},
"SelfManagedKafkaEventSourceConfig": {
"ConsumerGroupId": "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.
- AmazonManagedKafkaEventSourceConfig
-
Ajustes de configuración específicos para orígenes de eventos de Amazon Managed Streaming para Apache Kafka (Amazon MSK).
Tipo: objeto AmazonManagedKafkaEventSourceConfig
- 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 establecerMaximumBatchingWindowInSeconds
en al menos 1.Tipo: entero
Rango válido: valor mínimo de 1. Valor máximo de 10000.
- BisectBatchOnFunctionError
-
(Solo Kinesis y DynamoDB Streams) 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 para Kinesis, DynamoDB Streams, Amazon MSK y fuentes de eventos autogestionadas de Apache Kafka únicamente) Un objeto de configuración que especifica el destino de un evento después de que Lambda lo procese.
Tipo: objeto DestinationConfig
- DocumentDBEventSourceConfig
-
Ajustes de configuración específicos para un origen de eventos de DocumentDB.
Tipo: objeto DocumentDBEventSourceConfig
- 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
-
Un objeto que define los criterios de filtro que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulte Filtrado de eventos de Lambda.
Tipo: objeto FilterCriteria
- FunctionArn
-
El ARN de la función de 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
-
(Kinesis, DynamoDB Streams, and Amazon SQS) Una lista de enumeraciones de tipo de respuesta actuales aplicadas a la asignación de orígenes de eventos.
Tipo: matriz de cadenas
Miembros de la matriz: número mínimo de 0 artículos. 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: cadena
- MaximumBatchingWindowInSeconds
-
La cantidad de tiempo máxima, en segundos, que Lambda emplea a fin de recopilar registros antes de invocar la función. Puede configurar
MaximumBatchingWindowInSeconds
como cualquier valor entre 0 segundos y 300 segundos, en incrementos de segundos.En el caso de los flujos y los orígenes de eventos de Amazon SQS, el periodo de procesamiento por lotes predeterminado es de 0 segundos. En el caso de los orígenes de eventos de Amazon MSK, Apache Kafka autoadministrado, Amazon MQ y DocumentDB, el periodo de procesamiento por lotes predeterminado es de 500 ms. Tenga en cuenta que como solo puede cambiar
MaximumBatchingWindowInSeconds
en incrementos de segundos, no puede volver al periodo de procesamiento por lotes predeterminado de 500 ms después de haberlo cambiado. Para restaurar el plazo de procesamiento por lotes predeterminado, debe crear una nueva asignación de origen de eventos.Configuración relacionada: en el caso de los flujos y los orígenes de eventos de Amazon SQS, cuando establece
BatchSize
en un valor superior a 10, debe establecerMaximumBatchingWindowInSeconds
en al menos 1.Tipo: entero
Rango válido: valor mínimo de 0. Valor máximo de 300.
- MaximumRecordAgeInSeconds
-
(Solo Kinesis y DynamoDB Streams) 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.
nota
El valor mínimo válido para la antigüedad máxima del registro es de 60 segundos. Si bien los valores inferiores a 60 y superiores a -1 se encuentran dentro del rango absoluto del parámetro, no están permitidos
Tipo: entero
Rango válido: valor mínimo de -1. Valor máximo de 604 800.
- MaximumRetryAttempts
-
(Solo Kinesis y DynamoDB Streams) 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 Kinesis y DynamoDB Streams) 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]*
- ScalingConfig
-
(Solo Amazon SQS) La configuración de escalado de orígenes de eventos. Para obtener más información, consulte Configuración de la simultaneidad máxima para los orígenes de eventos de Amazon SQS.
Tipo: objeto ScalingConfig
- SelfManagedEventSource
-
El clúster de Apache Kafka autoadministrado para la fuente de eventos.
Tipo: objeto SelfManagedEventSource
- SelfManagedKafkaEventSourceConfig
-
Ajustes de configuración específicos para un origen de eventos de Apache Kafka autoadministrados.
Tipo: objeto SelfManagedKafkaEventSourceConfig
- 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 artículos. Número máximo de 22 elementos.
- StartingPosition
-
La posición en el flujo donde comienza la lectura. Obligatorio para los orígenes de eventos de Amazon Kinesis y Amazon DynamoDB Stream.
AT_TIMESTAMP
solo es compatible con flujos de Amazon Kinesis, Amazon DocumentDB, Amazon MSK y Apache Kafka autoadministrado.Tipo: cadena
Valores válidos:
TRIM_HORIZON | LATEST | AT_TIMESTAMP
- StartingPositionTimestamp
-
Con
StartingPosition
, configure enAT_TIMESTAMP
el tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix.StartingPositionTimestamp
no puede ser futura.Tipo: marca temporal
- State
-
El estado del mapeo de fuente de eventos. Puede ser uno de los siguientes:
Creating
,Enabling
,Enabled
,Disabling
,Disabled
,Updating
, oDeleting
.Tipo: cadena
- StateTransitionReason
-
Indica si un usuario o Lambda realizaron el último cambio en el mapeo de fuente de eventos.
Tipo: cadena
- 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 Kinesis y DynamoDB Streams) La duración en segundos de una ventana de procesamiento para orígenes de eventos de DynamoDB y Kinesis Streams. Un valor de 0 segundos indica que no hay ventanas caídas.
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: cadena
Errores
Para obtener información acerca de los errores comunes a todas las acciones, consulte Errores comunes.
- 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. Para obtener más información, consulte Cuotas de Lambda.
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: