CreateEventSourceMapping
Cria um mapeamento entre uma origem de eventos e uma função do AWS Lambda. O Lambda lê itens da origem de eventos e invoca a função.
Para obter detalhes sobre como configurar diferentes origens de evento, consulte os tópicos a seguir.
As seguintes opções de tratamento de erros estão disponíveis apenas para origens de fluxo (DynamoDB e Kinesis):
-
BisectBatchOnFunctionError
: se a função retornar um erro, divida o lote em dois e tente novamente. -
DestinationConfig
: envie registros descartados para uma fila do Amazon SQS ou para um tópico do Amazon SNS. -
MaximumRecordAgeInSeconds
: descarta registros que são mais antigos que o período especificado. O valor padrão é infinito (-1). Quando definido como infinito (-1), são feitas novas tentativas para os registros com falha até o registro expirar -
MaximumRetryAttempts
: descarta registros após o número especificado de novas tentativas. O valor padrão é infinito (-1). Quando definido como infinito (-1), são feitas novas tentativas para os registros com falha até o registro expirar. -
ParallelizationFactor
: processe diversos lotes de cada fragmento simultaneamente.
Para obter informações sobre quais parâmetros de configuração se aplicam a cada fonte de evento, consulte os tópicos a seguir.
Sintaxe da Solicitação
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 da solicitação de URI
A solicitação não usa nenhum parâmetro de URI.
Corpo da Solicitação
A solicitação aceita os dados a seguir no formato JSON.
- AmazonManagedKafkaEventSourceConfig
-
Definições de configuração específicas para uma origem de eventos do Amazon Managed Streaming for Apache Kafka (Amazon MSK).
Tipo: objeto AmazonManagedKafkaEventSourceConfig
Obrigatório: não
- BatchSize
-
O número máximo de registros em cada batch que o Lambda extrai da sua transmissão ou fila e envia para sua função. O Lambda transmite todos os registros no batch para a função em uma única chamada até o limite de carga útil para invocação síncrona (6 MB).
-
Amazon Kinesis: o padrão é 100. No máximo 10.000.
-
Amazon DynamoDB Streams: o padrão é 100. No máximo 10.000.
-
Amazon Simple Queue Service: o padrão é dez. Para filas padrão, o máximo é 10.000. Para filas FIFO, o máximo é 10.
-
Amazon Managed Streaming for Apache Kafka: o padrão é 100. No máximo 10.000.
-
Apache Kafka autogerenciado: o padrão é 100. No máximo 10.000.
-
Amazon MQ (ActiveMQ e RabbitMQ): o padrão é 100. No máximo 10.000.
-
DocumentDB: padrão 100. No máximo 10.000.
Tipo: inteiro
Intervalo válido: valor mínimo de 1. Valor máximo de 10000.
Obrigatório: não
-
- BisectBatchOnFunctionError
-
(Somente fluxos do Kinesis e do DynamoDB) Se a função retornar um erro, divida o lote em dois e tente novamente.
Tipo: booliano
Obrigatório: não
- DestinationConfig
-
(Somente Kinesis, streams do DynamoDB, Amazon MSK e Kafka autogerenciado) Um objeto de configuração que especifica o destino de um evento após o Lambda processá-lo.
Tipo: objeto DestinationConfig
Obrigatório: não
- DocumentDBEventSourceConfig
-
Definições de configuração específicas de uma origem do evento do DocumentDB.
Tipo: objeto DocumentDBEventSourceConfig
Obrigatório: não
- Enabled
-
Quando verdadeiro, o mapeamento da fonte do evento estará ativo. Quando falso, o Lambda pausará a sondagem e a invocação.
Padrão: Verdadeiro
Tipo: booliano
Obrigatório: não
- EventSourceArn
-
O nome de recurso da Amazon (ARN) da origem do evento.
-
Amazon Kinesis: o ARN do fluxo de dados ou de um consumidor de fluxo.
-
Amazon DynamoDB Streams: o ARN do fluxo.
-
Amazon Simple Queue Service: o ARN da fila.
-
Amazon Managed Streaming for Apache Kafka: o ARN do cluster ou o ARN da conexão VPC (para mapeamentos da origem do evento entre contas).
-
Amazon MQ: o ARN do agente.
-
Amazon DocumentDB: o ARN do fluxo de alterações do DocumentDB.
Tipo: string
Padrão:
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
Obrigatório: não
-
- FilterCriteria
-
Um objeto que define os critérios de filtros que determinam se o Lambda deve processar um evento. Para saber mais, consulte o tópico sobre Filtragem de eventos do Lambda.
Tipo: objeto FilterCriteria
Obrigatório: não
- FunctionName
-
O nome da função do Lambda.
Formatos de nome
-
Nome da função:
MyFunction
. -
ARN da função:
arn:aws:lambda:us-west-2:123456789012:function:MyFunction
. -
ARN da versão ou do alias:
arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD
. -
ARN parcial:
123456789012:function:MyFunction
.
A restrição de comprimento se aplica apenas ao ARN completo. Se você especificar apenas o nome da função, ele será limitado a 64 caracteres.
Tipo: string
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 140.
Padrão:
(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-_]+))?
Exigido: Sim
-
- FunctionResponseTypes
-
(Fluxos do Kinesis e do DynamoDB e Amazon SQS) Uma lista de enumerações de tipos de resposta atuais aplicadas ao mapeamento da origem do evento.
Tipo: matriz de strings
Membros da Matriz: número mínimo de 0 itens. Número máximo de 1 item.
Valores Válidos:
ReportBatchItemFailures
Obrigatório: não
- MaximumBatchingWindowInSeconds
-
O tempo máximo usado pelo Lambda, em segundos, para reunir os registros antes de invocar a função. É possível configurar
MaximumBatchingWindowInSeconds
para qualquer valor de 0 a 300 segundos em incrementos de segundos.Para fluxos e fontes de eventos do Amazon SQS, a janela de lote padrão é de 0 segundos. Para origens do evento do Amazon MSK, Apache Kafka autogerenciado, Amazon MQ e DocumentDB, a janela de lotes padrão é de 500 ms. Observe que, como só é possível alterar
MaximumBatchingWindowInSeconds
em incrementos de segundos, você não pode reverter para a janela de lotes padrão de 500 ms depois da alteração. Para restaurar a janela de lotes padrão, é necessário criar um novo mapeamento de fonte de evento.Configuração relacionada: para fluxos e fontes de eventos do Amazon SQS, quando você define
BatchSize
como um valor maior que 10, deve definirMaximumBatchingWindowInSeconds
como pelo menos 1.Tipo: inteiro
Intervalo válido: valor mínimo de 0. Valor máximo de 300.
Obrigatório: não
- MaximumRecordAgeInSeconds
-
(Somente fluxos do Kinesis e do DynamoDB) Descarte registros mais antigos que a idade especificada. O valor padrão é infinito (-1).
Tipo: inteiro
Intervalo válido: valor mínimo de -1. Valor máximo de 604800.
Obrigatório: não
- MaximumRetryAttempts
-
(Somente fluxos do Kinesis e do DynamoDB) Descarte registros após o número especificado de novas tentativas. O valor padrão é infinito (-1). Quando definido como infinito (-1), são feitas novas tentativas para os registros com falha até o registro expirar.
Tipo: inteiro
Intervalo válido: valor mínimo de -1. Valor máximo de 10000.
Obrigatório: não
- ParallelizationFactor
-
(Somente fluxos do Kinesis e do DynamoDB) O número de lotes a serem processados de cada fragmento simultaneamente.
Tipo: inteiro
Intervalo válido: valor mínimo de 1. Valor máximo de 10.
Obrigatório: não
- Queues
-
(MQ) O nome da fila de destino do agente do Amazon MQ a ser consumido.
Tipo: matriz de strings
Membros da matriz: número fixo de 1 item.
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 1.000.
Padrão:
[\s\S]*
Obrigatório: não
- ScalingConfig
-
(Somente para o Amazon SQS) A configuração de escalabilidade para a origem do evento. Para obter mais informações, consulte Configuring maximum concurrency for Amazon SQS event sources (Configuração de simultaneidade máxima para origens de eventos do Amazon SQS).
Tipo: objeto ScalingConfig
Obrigatório: não
- SelfManagedEventSource
-
O cluster do Apache Kafka autogerenciado ao qual receber registros.
Tipo: objeto SelfManagedEventSource
Obrigatório: não
- SelfManagedKafkaEventSourceConfig
-
Definições de configuração específicas para uma origem de eventos do Apache Kafka autogerenciado.
Tipo: objeto SelfManagedKafkaEventSourceConfig
Obrigatório: não
- SourceAccessConfigurations
-
Uma matriz de protocolos de autenticação ou componentes da VPC necessária para proteger a origem do evento.
Tipo: matriz de objetos SourceAccessConfiguration
Membros da Matriz: número mínimo de 0 itens. Número máximo de 22 itens.
Obrigatório: não
- StartingPosition
-
A posição em um fluxo da qual você deseja iniciar a leitura. Obrigatório para origens de eventos do Amazon Kinesis e do Amazon DynamoDB Streams.
AT_TIMESTAMP
é compatível somente com os fluxos do Amazon Kinesis, o Amazon DocumentDB, o Amazon MSK e o Apache Kafka autogerenciado.Tipo: string
Valores Válidos:
TRIM_HORIZON | LATEST | AT_TIMESTAMP
Obrigatório: não
- StartingPositionTimestamp
-
Com
StartingPosition
definido comoAT_TIMESTAMP
, o tempo a partir do qual a leitura é iniciada, em segundos de tempo do Unix.StartingPositionTimestamp
não pode ser no futuro.Tipo: Carimbo de data/hora
Obrigatório: não
- Topics
-
O nome do tópico do Kafka.
Tipo: matriz de strings
Membros da matriz: número fixo de 1 item.
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 249.
Padrão:
^[^.]([a-zA-Z0-9\-_.]+)
Obrigatório: não
- TumblingWindowInSeconds
-
(Somente fluxos do Kinesis e DynamoDB) A duração, em segundos, de uma janela de processamento para origens do evento de fluxos do DynamoDB e do Kinesis. O valor de 0 segundo indica que não há janela em queda.
Tipo: inteiro
Intervalo válido: valor mínimo de 0. Valor máximo de 900.
Obrigatório: não
Sintaxe da Resposta
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 Resposta
Se a ação for bem-sucedida, o serviço retornará uma resposta HTTP 202.
Os dados a seguir são retornados no formato JSON pelo serviço.
- AmazonManagedKafkaEventSourceConfig
-
Definições de configuração específicas para uma origem de eventos do Amazon Managed Streaming for Apache Kafka (Amazon MSK).
Tipo: objeto AmazonManagedKafkaEventSourceConfig
- BatchSize
-
O número máximo de registros em cada batch que o Lambda extrai da sua transmissão ou fila e envia para sua função. O Lambda transmite todos os registros no batch para a função em uma única chamada até o limite de carga útil para invocação síncrona (6 MB).
Valor padrão: varia de acordo com o serviço. Para o Amazon SQS, o padrão é 10. Para todos os outros serviços, o padrão é 100.
Configuração relacionada: quando você define
BatchSize
como um valor maior que 10, deve definirMaximumBatchingWindowInSeconds
como pelo menos 1.Tipo: inteiro
Intervalo válido: valor mínimo de 1. Valor máximo de 10000.
- BisectBatchOnFunctionError
-
(Somente fluxos do Kinesis e do DynamoDB) Se a função retornar um erro, divida o lote em dois e tente novamente. O valor padrão é falso.
Tipo: booliano
- DestinationConfig
-
(Somente origens de evento do Kinesis, DynamoDB Streams, Amazon MSK e Apache Kafka autogerenciado) Um objeto de configuração que especifica o destino de um evento após o Lambda processá-lo.
Tipo: objeto DestinationConfig
- DocumentDBEventSourceConfig
-
Definições de configuração específicas de uma origem do evento do DocumentDB.
Tipo: objeto DocumentDBEventSourceConfig
- EventSourceArn
-
O nome de recurso da Amazon (ARN) da origem do evento.
Tipo: string
Padrão:
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
- FilterCriteria
-
Um objeto que define os critérios de filtros que determinam se o Lambda deve processar um evento. Para saber mais, consulte o tópico sobre Filtragem de eventos do Lambda.
Tipo: objeto FilterCriteria
- FunctionArn
-
O ARN da função Lambda.
Tipo: string
Padrão:
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
-
(Fluxos do Kinesis e do DynamoDB e Amazon SQS) Uma lista de enumerações de tipos de resposta atuais aplicadas ao mapeamento da origem do evento.
Tipo: matriz de strings
Membros da Matriz: número mínimo de 0 itens. Número máximo de 1 item.
Valores Válidos:
ReportBatchItemFailures
- LastModified
-
A data em que o mapeamento de fontes de eventos foi atualizado pela última vez ou seu estado mudou, em segundos no horário do Unix.
Tipo: Carimbo de data/hora
- LastProcessingResult
-
O resultado da última invocação do Lambda da sua função.
Tipo: string
- MaximumBatchingWindowInSeconds
-
O tempo máximo usado pelo Lambda, em segundos, para reunir os registros antes de invocar a função. É possível configurar
MaximumBatchingWindowInSeconds
para qualquer valor de 0 a 300 segundos em incrementos de segundos.Para fluxos e fontes de eventos do Amazon SQS, a janela de lote padrão é de 0 segundos. Para origens do evento do Amazon MSK, Apache Kafka autogerenciado, Amazon MQ e DocumentDB, a janela de lotes padrão é de 500 ms. Observe que, como só é possível alterar
MaximumBatchingWindowInSeconds
em incrementos de segundos, você não pode reverter para a janela de lotes padrão de 500 ms depois da alteração. Para restaurar a janela de lotes padrão, é necessário criar um novo mapeamento de fonte de evento.Configuração relacionada: para fluxos e fontes de eventos do Amazon SQS, quando você define
BatchSize
como um valor maior que 10, deve definirMaximumBatchingWindowInSeconds
como pelo menos 1.Tipo: inteiro
Intervalo válido: valor mínimo de 0. Valor máximo de 300.
- MaximumRecordAgeInSeconds
-
(Somente fluxos do Kinesis e do DynamoDB) Descarte registros mais antigos que a idade especificada. O valor padrão é -1, o que define a idade máxima como infinito. Quando o valor é definido como infinito, o Lambda nunca descarta registros antigos.
nota
O valor mínimo válido para a idade máxima de registro é 60. Embora valores menores que 60 e maiores que -1 estejam dentro do intervalo absoluto do parâmetro, eles não são permitidos
Tipo: inteiro
Intervalo válido: valor mínimo de -1. Valor máximo de 604800.
- MaximumRetryAttempts
-
(Somente fluxos do Kinesis e do DynamoDB) Descarte registros após o número especificado de novas tentativas. O valor padrão é -1, o que define o número máximo de tentativas como infinito. Quando MaximumRetryAttempts é infinito, o Lambda tenta executar novamente os registros com falha até que o registro expire na fonte de eventos.
Tipo: inteiro
Intervalo válido: valor mínimo de -1. Valor máximo de 10000.
- ParallelizationFactor
-
(Somente fluxos do Kinesis e do DynamoDB) O número de lotes a serem processados simultaneamente de cada fragmento. O valor padrão é 1.
Tipo: inteiro
Intervalo válido: valor mínimo de 1. Valor máximo de 10.
- Queues
-
(Amazon MQ) O nome da fila de destino do agente do Amazon MQ a ser consumido.
Tipo: matriz de strings
Membros da matriz: número fixo de 1 item.
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 1.000.
Padrão:
[\s\S]*
- ScalingConfig
-
(Somente para o Amazon SQS) A configuração de escalabilidade para a origem do evento. Para obter mais informações, consulte Configuring maximum concurrency for Amazon SQS event sources (Configuração de simultaneidade máxima para origens de eventos do Amazon SQS).
Tipo: objeto ScalingConfig
- SelfManagedEventSource
-
O cluster autogerenciado do Apache Kafka para sua fonte de eventos.
Tipo: objeto SelfManagedEventSource
- SelfManagedKafkaEventSourceConfig
-
Definições de configuração específicas para uma origem de eventos do Apache Kafka autogerenciado.
Tipo: objeto SelfManagedKafkaEventSourceConfig
- SourceAccessConfigurations
-
Uma matriz do protocolo de autenticação, os componentes da VPC ou o host virtual para proteger e definir a fonte de eventos.
Tipo: matriz de objetos SourceAccessConfiguration
Membros da Matriz: número mínimo de 0 itens. Número máximo de 22 itens.
- StartingPosition
-
A posição em um fluxo da qual você deseja iniciar a leitura. Obrigatório para origens de eventos do Amazon Kinesis e do Amazon DynamoDB Streams.
AT_TIMESTAMP
é compatível somente com os fluxos do Amazon Kinesis, o Amazon DocumentDB, o Amazon MSK e o Apache Kafka autogerenciado.Tipo: string
Valores Válidos:
TRIM_HORIZON | LATEST | AT_TIMESTAMP
- StartingPositionTimestamp
-
Com
StartingPosition
definido comoAT_TIMESTAMP
, o tempo a partir do qual a leitura é iniciada, em segundos de tempo do Unix.StartingPositionTimestamp
não pode ser no futuro.Tipo: Carimbo de data/hora
- State
-
O estado do mapeamento da fonte de eventos. Pode ser um destes:
Creating
,Enabling
,Enabled
,Disabling
,Disabled
,Updating
ouDeleting
.Tipo: string
- StateTransitionReason
-
Indica se um usuário ou o Lambda fez a última alteração no mapeamento de fontes de eventos.
Tipo: string
- Topics
-
O nome do tópico do Kafka.
Tipo: matriz de strings
Membros da matriz: número fixo de 1 item.
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 249.
Padrão:
^[^.]([a-zA-Z0-9\-_.]+)
- TumblingWindowInSeconds
-
(Somente fluxos do Kinesis e DynamoDB) A duração, em segundos, de uma janela de processamento para origens do evento de fluxos do DynamoDB e do Kinesis. O valor de 0 segundo indica que não há janela em queda.
Tipo: inteiro
Intervalo válido: valor mínimo de 0. Valor máximo de 900.
- UUID
-
O identificador do mapeamento de fontes de eventos.
Tipo: string
Erros
Para obter informações sobre os erros que todas as ações retornam, consulte Erros comuns.
- InvalidParameterValueException
-
Um dos parâmetros da solicitação não é válido.
Código de Status HTTP: 400
- ResourceConflictException
-
O recurso já existe ou outra operação está em andamento.
Código de status HTTP: 409
- ResourceNotFoundException
-
O recurso especificado na solicitação não existe.
Código de Status HTTP: 404
- ServiceException
-
O serviço AWS Lambda encontrou um erro interno.
Código de Status HTTP: 500
- TooManyRequestsException
-
O limite de throughput da solicitação foi excedido. Para obter mais informações, consulte Cotas do Lambda.
Código de status HTTP: 429
Ver também
Para mais informações sobre como usar essa API em um dos AWS SDKs de idiomas específicos, consulte o seguinte: