aws-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-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 allaSemantic versioningModello. 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_sqs_lambda
TypeScript
@aws-solutions-constructs/aws-sqs-lambda
Java
software.amazon.awsconstructs.services.sqslambda

Overview

Questo AWS Solutions Construct implementa una coda Amazon SQS collegata a una funzione AWS Lambda.

Ecco una definizione di modello distribuibile minima in TypeScript:

const { SqsToLambda } = require('@aws-solutions-constructs/aws-sqs-lambda'); new SqsToLambda(stack, 'SqsToLambdaPattern', { lambdaFunctionProps: { runtime: lambda.Runtime.NODEJS_14_X, // This assumes a handler function in lib/lambda/index.js code: lambda.Code.fromAsset(`${__dirname}/lambda`), handler: 'index.handler' } });

Initializer

new SqsToLambda(scope: Construct, id: string, props: SqsToLambdaProps);

Parametri

Puntelli di costruzione modelli

Nome Tipo Descrizione
EsistenteLambdaobj? lambda.Function Istanza esistente dell'oggetto Function Lambda, fornendo sia questo chelambdaFunctionPropscauserà un errore.
LambdafunctionPunps? lambda.FunctionProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la funzione Lambda. Ignorato se unexistingLambdaObjviene fornito.
ExistingQueueObj? sqs.Queue Una coda SQS esistente facoltativa da utilizzare al posto della coda predefinita. Fornire sia questo chequeuePropscauserà un errore.
QueueProps? sqs.QueueProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la coda SQS. Ignorato se unexistingQueueObjviene fornito.
DeployDeadLetterQueue? boolean Indica se creare una coda secondaria da utilizzare come coda DLQ. L'impostazione predefinita è true.
DeadLetterQueueProps? sqs.QueueProps Oggetti di scena facoltativi forniti dall'utente per sovrascrivere gli oggetti di scena predefiniti per la coda delle lettere morte. Utilizzato solo se il valoredeployDeadLetterQueueviene impostata su true.
MaxReceiveCount? number Il numero di volte in cui un messaggio può essere rimosso senza successo prima di essere spostato nella coda DLQ. L'impostazione predefinita è 15.

Proprietà modelli

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

Impostazioni predefinite

L'implementazione predefinita di questo modello senza sostituzioni imposterà i seguenti valori predefiniti:

Coda Amazon SQS

  • Distribuire la coda DLQ per la coda SQS di origine.

  • Abilitare la crittografia lato server per la coda SQS di origine utilizzando la chiave AWS gestita.

  • Applicazione della crittografia dei dati in transito

Funzione di AWS Lambda

  • Configurare il ruolo IAM di accesso con privilegi limitati per la funzione Lambda.

  • Abilita il riutilizzo delle connessioni con Keep-Alive per la funzione NodeJS Lambda.

  • Abilitare il tracciamento X-Ray.

  • Impostazione delle variabili di ambiente:

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

Architecture

GitHub

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