CreateEventSourceMapping - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CreateEventSourceMapping

Crea una mappatura tra un'origine eventi e una funzione AWS Lambda. Lambda legge le voci dell'origine eventi e richiama la funzione.

Per informazioni dettagliate su come configurare origini eventi diverse, consultare i seguenti argomenti.

Le seguenti opzioni di gestione degli errori sono disponibili solo per le origini dei flussi (DynamoDB e Kinesis):

  • BisectBatchOnFunctionError: se la funzione restituisce un errore, divide il batch in due e riprova.

  • DestinationConfig: invia i record scartati a una coda Amazon SQS o un argomento Amazon SNS.

  • MaximumRecordAgeInSeconds: elimina i record più vecchi dell'età specificata. Il valore predefinito è infinito (-1). Se impostato su infinitO (-1), i record non riusciti vengono ripetuti fino alla scadenza del record.

  • MaximumRetryAttempts: elimina i record dopo il numero di tentativi specificato. Il valore predefinito è infinito (-1). Se impostato su infinitO (-1), i record non riusciti vengono ripetuti fino alla scadenza del record.

  • ParallelizationFactor: elaborazione simultanea di più batch da ogni partizione.

Per informazioni sui parametri di configurazione applicabili a ogni origine eventi, consultare i seguenti argomenti.

Sintassi della richiesta

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 }

Parametri della richiesta URI:

La richiesta non utilizza parametri URI.

Corpo della richiesta

La richiesta accetta i seguenti dati in formato JSON.

AmazonManagedKafkaEventSourceConfig

Impostazioni di configurazione specifiche per un'origine eventi di Streaming gestito da Amazon per Apache Kafka (Amazon MSK).

Tipo: oggetto AmazonManagedKafkaEventSourceConfig

Campo obbligatorio: no

BatchSize

Il numero massimo di registri in ogni batch che Lambda estrae dal flusso o dalla coda e invia alla funzione. Lambda passa tutti i registri del batch alla funzione in una singola chiamata, fino al limite di payload per la chiamata sincrona (6 MB).

  • Amazon Kinesis: numero predefinito 100. Massimo 10.000.

  • Flussi Amazon DynamoDB: numero predefinito 100. Massimo 10.000.

  • Amazon Simple Queue Service: numero predefinito 10. Per le code standard il massimo è 10.000. Per le code FIFO il massimo è 10.

  • Amazon Managed Streaming for Apache Kafka: valore predefinito 100 Massimo 10.000.

  • Apache Kafka autogestito: valore predefinito 100. Massimo 10.000.

  • Amazon MQ (ActiveMQ e RabbitMQ): valore predefinito 100. Massimo 10.000.

  • DocumentDB: valore predefinito 100. Massimo 10.000.

Tipo: integer

Intervallo valido: valore minimo di 1. Valore massimo pari a 10000.

Campo obbligatorio: no

BisectBatchOnFunctionError

(Solo per flussi Kinesis e DynamoDB) Se la funzione restituisce un errore, dividi il batch in due e riprova.

Tipo: Booleano

Campo obbligatorio: no

DestinationConfig

(Solo Kinesis, Flussi DynamoDB, Amazon MSK e Kafka autogestito) Oggetto di configurazione che specifica la destinazione di un evento dopo che Lambda lo elabora.

Tipo: oggetto DestinationConfig

Campo obbligatorio: no

DocumentDBEventSourceConfig

Impostazioni di configurazione specifiche per un'origine degli eventi DocumentDB.

Tipo: oggetto DocumentDBEventSourceConfig

Campo obbligatorio: no

Enabled

Quando VERO, la mappatura delle fonti eventi è attiva. Quando false, Lambda sospende il polling e la chiamata.

Impostazione predefinita: True

Tipo: Booleano

Campo obbligatorio: no

EventSourceArn

L'Amazon Resource Name (ARN) dell'origine eventi.

  • Amazon Kinesis – L'ARN del flusso di dati o un utente del flusso.

  • Flussi Amazon DynamoDB – L'ARN del flusso.

  • Amazon Simple Queue Service – L'ARN della coda.

  • Streaming gestito da Amazon per Apache Kafka: l'ARN del cluster o l'ARN della connessione VPC (per gli strumenti di mappatura dell'origine degli eventi multi-account).

  • Amazon MQ: l'ARN del broker.

  • Amazon DocumentDB: l'ARN del flusso di modifica di DocumentDB.

Tipo: stringa

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

Campo obbligatorio: no

FilterCriteria

Un oggetto che definisce i criteri di filtro che determinano se Lambda debba elaborare un evento. Per ulteriori informazioni, consultare Filtro eventi Lambda.

Tipo: oggetto FilterCriteria

Campo obbligatorio: no

FunctionName

Il nome della funzione Lambda.

Formati di nome
  • Nome della funzione: MyFunction

  • ARN funzione: arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • ARN versione o alias: arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • ARN parziale: 123456789012:function:MyFunction.

Il vincolo di lunghezza si applica solo all'ARN completo. Se specifichi solo il nome della funzione, questo avrà un limite di lunghezza di 64 caratteri.

Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 140.

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

Campo obbligatorio: sì

FunctionResponseTypes

(Kinesis, DynamoDB Streams e Amazon SQS) Un elenco delle enumerazioni del tipo di risposta corrente applicate allo strumento di mappatura dell'origine degli eventi.

Tipo: matrice di stringhe

Membri dell'array: numero minimo di 0 elementi. Numero massimo di 1 elemento.

Valori validi: ReportBatchItemFailures

Campo obbligatorio: no

MaximumBatchingWindowInSeconds

Il tempo massimo, in secondi, per la raccolta dei registri da parte di Lambda prima di richiamare la funzione. È possibile configurare MaximumBatchingWindowInSeconds su qualsiasi valore da 0 secondi a 300 secondi con incrementi di secondi.

Per i flussi e le origini eventi Amazon SQS, la finestra di batch di default è 0 secondi. Per le origini degli eventi di Amazon MSK, Apache Kafka autogestito, Amazon MQ e DocumentDB la finestra di batch predefinita è 500 ms. Poiché è possibile modificare MaximumBatchingWindowInSeconds solo in incrementi di secondi, non puoi tornare alla finestra di batch predefinita di 500 ms dopo averla modificata. Per ripristinare la finestra di batch predefinita, è necessario creare una nuova mappatura dell'origine eventi.

Impostazione correlata: per i flussi e le origini eventi di Amazon SQS, quando si imposta BatchSize su un valore maggiore di 10, è necessario impostare MaximumBatchingWindowInSeconds almeno su 1.

Tipo: integer

Intervallo valido: valore minimo di 0. Valore massimo pari a 300.

Campo obbligatorio: no

MaximumRecordAgeInSeconds

(Solo per flussi Kinesis e DynamoDB) Elimina i record più vecchi dell'età specificata. Il valore predefinito è infinito (-1).

Tipo: integer

Intervallo valido: valore minimo di -1. Valore massimo pari a 604800.

Campo obbligatorio: no

MaximumRetryAttempts

(Solo per flussi Kinesis e DynamoDB) Elimina i record dopo il numero di tentativi specificato. Il valore predefinito è infinito (-1). Se impostato su infinitO (-1), i record non riusciti vengono ripetuti fino alla scadenza del record.

Tipo: integer

Intervallo valido: valore minimo di -1. Valore massimo pari a 10000.

Campo obbligatorio: no

ParallelizationFactor

(Solo per flussi Kinesis e DynamoDB) Il numero di batch da elaborare contemporaneamente da ogni partizione.

Tipo: integer

Intervallo valido: valore minimo di 1. valore massimo pari a 10.

Campo obbligatorio: no

Queues

(MQ) Il nome della coda di destinazione del broker Amazon MQ da utilizzare.

Tipo: matrice di stringhe

Membri dell'array: numero minimo di 1 elemento.

Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 1000.

Modello: [\s\S]*

Campo obbligatorio: no

ScalingConfig

(Solo Amazon SQS) La configurazione di scalabilità per l'origine dell'evento. Per ulteriori informazioni, consulta Configurazione della simultaneità massima per le origini eventi di Amazon SQS.

Tipo: oggetto ScalingConfig

Campo obbligatorio: no

SelfManagedEventSource

Il cluster Apache Kafka autogestito da cui ricevere i record.

Tipo: oggetto SelfManagedEventSource

Campo obbligatorio: no

SelfManagedKafkaEventSourceConfig

Impostazioni di configurazione specifiche per un'origine eventi Apache Kafka autogestito.

Tipo: oggetto SelfManagedKafkaEventSourceConfig

Campo obbligatorio: no

SourceAccessConfigurations

Un array dei protocolli di autenticazione o dei componenti VPC necessari per proteggere l'origine eventi.

Tipo: matrice di oggetti SourceAccessConfiguration

Membri dell'array: numero minimo di 0 elementi. Numero massimo di 22 elementi.

Campo obbligatorio: no

StartingPosition

La posizione in un flusso da cui iniziare la lettura. Richiesto per le origini di eventi Amazon Kinesis e flussi Amazon DynamoDB. AT_TIMESTAMP è supportato solo per flussi Amazon Kinesis, Amazon DocumentDB, Amazon MSK e Apache Kafka autogestito.

Tipo: stringa

Valori validi: TRIM_HORIZON | LATEST | AT_TIMESTAMP

Campo obbligatorio: no

StartingPositionTimestamp

Con StartingPosition impostato su AT_TIMESTAMP, il tempo da cui avviare la lettura, espresso in secondi di tempo Unix. StartingPositionTimestamp non può essere nel futuro.

Tipo: Timestamp

Campo obbligatorio: no

Topics

Il nome dell'argomento Kafka.

Tipo: matrice di stringhe

Membri dell'array: numero minimo di 1 elemento.

Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 249.

Modello: ^[^.]([a-zA-Z0-9\-_.]+)

Campo obbligatorio: no

TumblingWindowInSeconds

(Solo per flussi Kinesis e DynamoDB) La durata in secondi di una finestra di elaborazione per le origini eventi dei flussi DynamoDB e Kinesis. Un valore di 0 secondi indica l'assenza di finestre a cascata.

Tipo: integer

Intervallo valido: valore minimo di 0. Valore massimo pari a 900.

Campo obbligatorio: no

Sintassi della risposta

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" }

Elementi di risposta

Se l'operazione riesce, il servizio restituisce una risposta HTTP 202.

I dati seguenti vengono restituiti in formato JSON mediante il servizio.

AmazonManagedKafkaEventSourceConfig

Impostazioni di configurazione specifiche per un'origine eventi di Streaming gestito da Amazon per Apache Kafka (Amazon MSK).

Tipo: oggetto AmazonManagedKafkaEventSourceConfig

BatchSize

Il numero massimo di registri in ogni batch che Lambda estrae dal flusso o dalla coda e invia alla funzione. Lambda passa tutti i registri del batch alla funzione in una singola chiamata, fino al limite di payload per la chiamata sincrona (6 MB).

Valore di default: varia in base al servizio. Per Amazon SQS, il valore di default è 10. Per tutti gli altri servizi, il valore di default è 100.

Impostazione correlata: quando si imposta BatchSize su un valore maggiore di 10, è necessario impostare MaximumBatchingWindowInSeconds almeno su 1.

Tipo: integer

Intervallo valido: valore minimo di 1. Valore massimo pari a 10000.

BisectBatchOnFunctionError

(Solo per flussi Kinesis e DynamoDB) Se la funzione restituisce un errore, dividi il batch in due e riprova. Il valore predefinito è false.

Tipo: Booleano

DestinationConfig

(Solo Kinesis, DynamoDB Streams, Amazon MSK e sorgenti di eventi Apache Kafka autogestite) Un oggetto di configurazione che specifica la destinazione di un evento dopo l'elaborazione da Lambda.

Tipo: oggetto DestinationConfig

DocumentDBEventSourceConfig

Impostazioni di configurazione specifiche per un'origine degli eventi DocumentDB.

Tipo: oggetto DocumentDBEventSourceConfig

EventSourceArn

L'Amazon Resource Name (ARN) dell'origine eventi.

Tipo: stringa

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

FilterCriteria

Un oggetto che definisce i criteri di filtro che determinano se Lambda debba elaborare un evento. Per ulteriori informazioni, consultare Filtro eventi Lambda.

Tipo: oggetto FilterCriteria

FunctionArn

ARN della funzione Lambda.

Tipo: stringa

Modello: 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 e Amazon SQS) Un elenco delle enumerazioni del tipo di risposta corrente applicate allo strumento di mappatura dell'origine degli eventi.

Tipo: matrice di stringhe

Membri dell'array: numero minimo di 0 elementi. Numero massimo di 1 elemento.

Valori validi: ReportBatchItemFailures

LastModified

Data dell'ultimo aggiornamento o cambiamento di stato della mappatura dell'origine eventi, in secondi di tempo Unix.

Tipo: Timestamp

LastProcessingResult

Il risultato dell'ultima invocazione Lambda della funzione.

Tipo: stringa

MaximumBatchingWindowInSeconds

Il tempo massimo, in secondi, per la raccolta dei registri da parte di Lambda prima di richiamare la funzione. È possibile configurare MaximumBatchingWindowInSeconds su qualsiasi valore da 0 secondi a 300 secondi con incrementi di secondi.

Per i flussi e le origini eventi Amazon SQS, la finestra di batch di default è 0 secondi. Per le origini degli eventi di Amazon MSK, Apache Kafka autogestito, Amazon MQ e DocumentDB la finestra di batch predefinita è 500 ms. Poiché è possibile modificare MaximumBatchingWindowInSeconds solo in incrementi di secondi, non puoi tornare alla finestra di batch predefinita di 500 ms dopo averla modificata. Per ripristinare la finestra di batch predefinita, è necessario creare una nuova mappatura dell'origine eventi.

Impostazione correlata: per i flussi e le origini eventi di Amazon SQS, quando si imposta BatchSize su un valore maggiore di 10, è necessario impostare MaximumBatchingWindowInSeconds almeno su 1.

Tipo: integer

Intervallo valido: valore minimo di 0. Valore massimo pari a 300.

MaximumRecordAgeInSeconds

(Solo per flussi Kinesis e DynamoDB) Elimina i record più vecchi dell'età specificata. Il valore predefinito è -1, che consente di impostare l'età massima su infinita. Quando il valore è impostato su infinito, Lambda non scarta mai i vecchi record.

Nota

Il valore minimo valido per l'età massima del record è 60 s. Sebbene i valori inferiori a 60 e superiori a -1 rientrino nell'intervallo assoluto del parametro, non sono consentiti.

Tipo: integer

Intervallo valido: valore minimo di -1. Valore massimo pari a 604800.

MaximumRetryAttempts

(Solo per flussi Kinesis e DynamoDB) Elimina i record dopo il numero di tentativi specificato. Il valore predefinito è -1, che consente di impostare il numero massimo di tentativi su infinito. Quando MaximumRetryAttempts è infinito, Lambda ritenta i record non riusciti fino alla scadenza del record nell'origine dell'evento.

Tipo: integer

Intervallo valido: valore minimo di -1. Valore massimo pari a 10000.

ParallelizationFactor

(Solo per flussi Kinesis e DynamoDB) Il numero di batch da elaborare contemporaneamente da ogni partizione. Il valore predefinito è 1.

Tipo: integer

Intervallo valido: valore minimo di 1. valore massimo pari a 10.

Queues

(Amazon MQ): il nome della coda di destinazione del broker Amazon MQ da utilizzare.

Tipo: matrice di stringhe

Membri dell'array: numero minimo di 1 elemento.

Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 1000.

Modello: [\s\S]*

ScalingConfig

(Solo Amazon SQS) La configurazione di scalabilità per l'origine dell'evento. Per ulteriori informazioni, consulta Configurazione della simultaneità massima per le origini eventi di Amazon SQS.

Tipo: oggetto ScalingConfig

SelfManagedEventSource

Il cluster Apache Kafka gestito dal cliente per l'origine eventi.

Tipo: oggetto SelfManagedEventSource

SelfManagedKafkaEventSourceConfig

Impostazioni di configurazione specifiche per un'origine eventi Apache Kafka autogestito.

Tipo: oggetto SelfManagedKafkaEventSourceConfig

SourceAccessConfigurations

Un array del protocollo di autenticazione, dei componenti VPC o dell'host virtuale per proteggere e definire l'origine eventi.

Tipo: matrice di oggetti SourceAccessConfiguration

Membri dell'array: numero minimo di 0 elementi. Numero massimo di 22 elementi.

StartingPosition

La posizione in un flusso da cui iniziare la lettura. Richiesto per le origini di eventi Amazon Kinesis e flussi Amazon DynamoDB. AT_TIMESTAMP è supportato solo per flussi Amazon Kinesis, Amazon DocumentDB, Amazon MSK e Apache Kafka autogestito.

Tipo: stringa

Valori validi: TRIM_HORIZON | LATEST | AT_TIMESTAMP

StartingPositionTimestamp

Con StartingPosition impostato su AT_TIMESTAMP, il tempo da cui avviare la lettura, espresso in secondi di tempo Unix. StartingPositionTimestamp non può essere nel futuro.

Tipo: Timestamp

State

Lo stato della mappatura dell'origine eventi. Può avere uno dei seguenti valori: Creating, Enabling, Enabled, Disabling, Disabled, Updating o Deleting.

Tipo: stringa

StateTransitionReason

Indica se un utente o Lambda ha apportato l'ultima modifica alla mappatura dell'origine eventi.

Tipo: stringa

Topics

Il nome dell'argomento Kafka.

Tipo: matrice di stringhe

Membri dell'array: numero minimo di 1 elemento.

Limitazioni di lunghezza: lunghezza minima di 1. Lunghezza massima di 249.

Modello: ^[^.]([a-zA-Z0-9\-_.]+)

TumblingWindowInSeconds

(Solo per flussi Kinesis e DynamoDB) La durata in secondi di una finestra di elaborazione per le origini eventi dei flussi DynamoDB e Kinesis. Un valore di 0 secondi indica l'assenza di finestre a cascata.

Tipo: integer

Intervallo valido: valore minimo di 0. Valore massimo pari a 900.

UUID

L'identificatore della mappatura dell'origine eventi.

Tipo: stringa

Errori

Per informazioni sugli errori comuni a tutte le operazioni, consultare Errori comuni.

InvalidParameterValueException

Uno dei parametri della richiesta non è valido.

Codice di stato HTTP: 400

ResourceConflictException

La risorsa esiste già o è in corso un'altra operazione.

Codice di stato HTTP: 409

ResourceNotFoundException

La risorsa specificata nella richiesta non esiste.

Codice di stato HTTP: 404

ServiceException

Il servizio AWS Lambda ha riscontrato un errore interno.

Codice di stato HTTP: 500

TooManyRequestsException

È stato superato il limite di throughput della richiesta. Per ulteriori informazioni, consulta la pagina relativa alle quote di .

Codice di stato HTTP: 429

Vedi anche

Per ulteriori informazioni sull'utilizzo di questa API in uno degli SDK AWS specifici della lingua, consulta quanto segue: