aws-lambda-sqs-lambda - Costrutti delle soluzioni AWS

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à.

aws-lambda-sqs-lambda

Tutte le classi sono in fase di sviluppo attivo e soggette a modifiche o rimozione non compatibili con le versioni precedenti in qualsiasi versione futura. Questi non sono soggetti allaIl controllo delle versioni semanticoModello. Ciò significa che, mentre è possibile utilizzarli, potrebbe essere necessario aggiornare il codice sorgente quando si esegue l'aggiornamento a una versione più recente di questo pacchetto.

Nota: Per garantire la corretta funzionalità, i pacchetti AWS Solutions Constructs e i pacchetti AWS CDK nel progetto devono essere della stessa versione.

Linguaggio Pacchetto
Python
aws_solutions_constructs.aws_lambda_sqs_lambda
TypeScript
@aws-solutions-constructs/aws-lambda-sqs-lambda
Java
software.amazon.awsconstructs.services.lambdasqslambda

Overview

Questo modello AWS Solutions Constructs implementa (1) una funzione AWS Lambda configurata per inviare messaggi a una coda; (2) una coda Amazon SQS; e (3) una funzione AWS Lambda configurata per consumare messaggi dalla coda.

Ecco una definizione di modello distribuibile minima in TypeScript:

import { LambdaToSqsToLambda, LambdaToSqsToLambdaProps } from "@aws-solutions-constructs/aws-lambda-sqs-lambda"; new LambdaToSqsToLambda(this, 'LambdaToSqsToLambdaPattern', { producerLambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/producer-function/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda/producer-function`), handler: 'index.handler' }, consumerLambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/consumer-function/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda/consumer-function`), handler: 'index.handler' } });

Initializer

new LambdaToSqsToLambda(scope: Construct, id: string, props: LambdaToSqsToLambdaProps);

Parametri

Puntelli di costruzione modelli

Nome Tipo Descrizione
EsistenteProducerLambdaobj? lambda.Function Funzione Lambda opzionale esistente da utilizzare al posto della funzione predefinita per l'invio di messaggi alla coda. Fornire sia questo cheproducerLambdaFunctionPropsIn caso contrario, si verifica un errore
ProducerLambdafunctionProps? lambda.FunctionProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la funzione Lambda del produttore.
ExistingQueueObj? sqs.Queue Una coda SQS esistente facoltativa da utilizzare al posto della coda predefinita. Fornire sia questo chequeuePropsIn caso contrario, si verifica un errore
QueueProps? sqs.QueueProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la coda SQS. Fornire sia questo cheexistingQueueObjIn caso contrario, si verifica un errore
DeployDeadLetterQueue? boolean Indica se creare una coda secondaria da utilizzare come coda DEFAULT. L'impostazione predefinita è true.
DeadLetterQueueProps? sqs.QueueProps Elementi di scena facoltativi forniti dall'utente per sovrascrivere gli oggetti di scena predefiniti per la coda delle lettere morte. Utilizzato solo se il valoredeployDeadLetterQueueLa proprietà viene impostata sutrue: .
MaxReceiveCount? number Il numero di volte in cui un messaggio può essere rimosso senza successo prima di essere spostato nella coda LQ. L'impostazione predefinita è 15.
EsistenteConsumerLambdaobj? lambda.Function Funzione Lambda opzionale esistente da utilizzare al posto della funzione predefinita per ricevere o consumare messaggi dalla coda. Fornire sia questo checonsumerLambdaFunctionPropsIn caso contrario, si verifica un errore
ConsumerLambdafunctionProps? lambda.FunctionProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la funzione Lambda consumer.
QueueEnvironmentVariableName? string Nome facoltativo per la variabile di ambiente URL della coda SQS impostata per la funzione Lambda del produttore.

Proprietà modelli

Nome Tipo Descrizione
ConsumerLambdafunction lambda.Function Restituisce un'istanza della funzione Lambda consumer creata dal modello.
DeadLetterQueue? sqs.Queue Restituisce un'istanza della coda di lettere morte creata dal modello, se ne viene distribuita una.
ProducerLAMBDAFUNZIONE lambda.Function Restituisce un'istanza della funzione Lambda del produttore creata dal modello.
SQSqueue sqs.Queue Restituisce un'istanza della coda SQS creata dal pattern.

Impostazioni predefinite

L'implementazione predefinita di questo Costrutto (senza proprietà sovrascritte) adatterà ai seguenti valori predefiniti:

Funzioni AWS Lambda

  • Configurare il ruolo IAM di accesso con privilegi limitati per le funzioni Lambda.

  • Abilita il riutilizzo delle connessioni con Keep-Alive per le funzioni NodeJS Lambda.

  • Abilitare il monitoraggio di X-Ray

  • Impostazione delle variabili di ambiente:

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(per le funzioni Node 10.x e successive)

Coda Amazon SQS

  • Distribuire una coda di origine secondaria per la coda primaria.

  • Abilitare la crittografia lato server per la coda primaria utilizzando una chiave AWS gestita.

  • Applicazione della crittografia dei dati in transito

Architecture

GitHub

Per visualizzare il codice per questo modello, creare/visualizzare problemi e richieste pull e altro ancora:
@aws -soluzioni-costruzioni/aws-lambda-sqs-lambda