UpdateEventSourceMapping - AWS Lambda

UpdateEventSourceMapping

Atualiza um mapeamento de origem do evento. Não é possível alterar a função que AWS Lambda invoca nem pausar a invocação e retomar mais tarde a partir do mesmo local.

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

PUT /2015-03-31/event-source-mappings/UUID HTTP/1.1 Content-type: application/json { "BatchSize": number, "BisectBatchOnFunctionError": boolean, "DestinationConfig": { "OnFailure": { "Destination": "string" }, "OnSuccess": { "Destination": "string" } }, "DocumentDBEventSourceConfig": { "CollectionName": "string", "DatabaseName": "string", "FullDocument": "string" }, "Enabled": boolean, "FilterCriteria": { "Filters": [ { "Pattern": "string" } ] }, "FunctionName": "string", "FunctionResponseTypes": [ "string" ], "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "ScalingConfig": { "MaximumConcurrency": number }, "SourceAccessConfigurations": [ { "Type": "string", "URI": "string" } ], "TumblingWindowInSeconds": number }

Parâmetros da Solicitação de URI

A solicitação usa os seguintes parâmetros de URI:

UUID

O identificador do mapeamento da origem do evento.

Obrigatório: sim

Corpo da Solicitação

A solicitação aceita os dados a seguir no formato JSON.

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

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-_]+))?

Obrigatório: não

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 definir MaximumBatchingWindowInSeconds 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

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

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

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 definir MaximumBatchingWindowInSeconds 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 definir MaximumBatchingWindowInSeconds 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 como AT_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 ou Deleting.

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

ResourceInUseException

A operação entra em conflito com a disponibilidade do recurso. Por exemplo, você tentou atualizar um mapeamento da origem do evento no estado “CREATING” ou tentou excluir um mapeamento da origem do evento atualmente no estado “UPDATING”.

Código de Status HTTP: 400

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: