Configurazione del comportamento di ridimensionamento per le mappature delle sorgenti degli eventi SQS - 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à.

Configurazione del comportamento di ridimensionamento per le mappature delle sorgenti degli eventi SQS

Per le code standard, Lambda utilizza il polling lungo per eseguire il polling di una coda finché non diventa attiva. Quando sono disponibili dei messaggi, Lambda inizia a elaborare cinque batch alla volta con cinque chiamate simultanee della funzione. Se sono ancora disponibili dei messaggi, Lambda aumenta il numero di processi che stanno leggendo i batch fino a 300 istanze aggiuntive al minuto. Il numero massimo di batch che è possibile elaborare contemporaneamente con una mappatura fonte evento è 1.000.

Per le code FIFO, Lambda invia messaggi alla funzione nell'ordine in cui li riceve. Quando invii un messaggio a una coda FIFO, è necessario specificare un ID gruppo di messaggi. Amazon SQS garantisce che i messaggi dello stesso gruppo vengano consegnati a Lambda in ordine. Quando Lambda legge i messaggi in batch, ogni batch può contenere messaggi provenienti da più di un gruppo di messaggi, ma l'ordine dei messaggi viene mantenuto. Se la funzione restituisce un errore, questa esegue nuovamente tutti i tentativi necessari sui messaggi interessati, prima che Lambda riceva ulteriori messaggi dallo stesso gruppo.

Configurazione della simultaneità massima per le origini eventi di Amazon SQS

È possibile utilizzare l'impostazione di massima concorrenza per controllare il comportamento di ridimensionamento delle sorgenti di eventi SQS. L'impostazione della simultaneità massima limita il numero di istanze simultanee della funzione che l'origine dell'evento Amazon SQS può richiamare. La simultaneità massima è un'impostazione a livello di origine dell'evento. Se disponi di più origini degli eventi Amazon SQS mappate a una funzione, ogni origine di evento può avere un'impostazione di simultaneità massima separata. È possibile utilizzare la simultaneità massima per evitare che una coda utilizzi tutta la simultaneità riservata della funzione o il resto della quota di simultaneità dell'account. Non è previsto alcun addebito per la configurazione della simultaneità massima su un'origine di eventi Amazon SQS.

È importante sottolineare che la simultaneità massima e la simultaneità riservata sono due impostazioni indipendenti. Non è possibile impostare la simultaneità massima su un valore maggiore della simultaneità riservata della funzione. Dopo aver configurato la simultaneità massima, assicurati di non ridurre la simultaneità riservata della funzione a un valore inferiore alla simultaneità massima totale per tutte le origini di eventi Amazon SQS sulla funzione. Altrimenti, Lambda potrebbe limitare i messaggi.

Se la simultaneità massima non è impostata, Lambda può dimensionare l'origine di eventi Amazon SQS fino alla quota di simultaneità totale del tuo account che, per impostazione predefinita, è 1.000.

Nota

Per le code FIFO, le chiamate simultanee sono limitate dal numero di ID dei gruppi di messaggi (messageGroupId) o dall'impostazione massima di simultaneità, a seconda di quale sia il valore più basso. Ad esempio, se hai sei ID di gruppi di messaggi e la simultaneità massima è impostata su 10, la tua funzione può avere un massimo di sei chiamate simultanee.

Puoi configurare la simultaneità massima sugli strumenti di mappatura dell'origine degli eventi Amazon SQS nuovi ed esistenti.

Configurazione della simultaneità massima tramite la console Lambda
  1. Aprire la pagina Functions (Funzioni) della console Lambda.

  2. Scegliere il nome della funzione.

  3. In Function overview (Panoramica delle funzioni), scegli SQS. Viene aperta la scheda Configuration (Configurazione).

  4. Seleziona il trigger Amazon SQS e scegli Edit (Modifica).

  5. In Maximum concurrency (Simultaneità massima), inserisci un numero compreso tra 2 e 1.000. Per disattivare la simultaneità massima, lascia la casella vuota.

  6. Selezionare Salva.

Configura la concorrenza massima utilizzando () AWS Command Line InterfaceAWS CLI

Usa il comando update-event-source-mapping con l'opzione --scaling-config. Esempio:

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --scaling-config '{"MaximumConcurrency":5}'

Per disattivare la simultaneità massima, inserisci un valore vuoto per --scaling-config:

aws lambda update-event-source-mapping \ --uuid "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" \ --scaling-config "{}"
Configurazione della simultaneità massima tramite l'API Lambda

Usa l'UpdateEventSourceMappingazione CreateEventSourceMappingo con un ScalingConfigoggetto.