aws-lambda-sqs-lambda - Konstrukte für AWS S-Lösungen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

aws-lambda-sqs-lambda

Alle Klassen befinden sich in aktiver Entwicklung und unterliegen nicht abwärtskompatiblen Änderungen oder Entfernen in jeder zukünftigen Version. Diese unterliegen nicht denSemantische VersionierungModell. Dies bedeutet, dass Sie möglicherweise Ihren Quellcode aktualisieren müssen, wenn Sie auf eine neuere Version dieses Pakets aktualisieren.

Hinweis: Um eine ordnungsgemäße Funktionalität sicherzustellen, müssen die AWS Solutions Constructs Pakete und AWS CDK-Pakete in Ihrem Projekt dieselbe Version aufweisen.

Sprache Paket
Python
aws_solutions_constructs.aws_lambda_sqs_lambda
Typographische Schrift
@aws-solutions-constructs/aws-lambda-sqs-lambda
Java
software.amazon.awsconstructs.services.lambdasqslambda

Overview

Dieses AWS Solutions Constructs-Muster implementiert (1) eine AWS Lambda Funktion, die zum Senden von Nachrichten an eine Warteschlange konfiguriert ist, (2) eine Amazon SQS Warteschlange und (3) eine AWS Lambda-Funktion, die für die Verwendung von Nachrichten aus der Warteschlange konfiguriert ist.

Hier ist eine minimale bereitstellbare Musterdefinition 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);

Parameter

Muster-Konstrukt

Name Typ Beschreibung
ExistingProducerLambdaObj? lambda.Function Eine optionale, vorhandene Lambda Funktion, die anstelle der Standardfunktion zum Senden von Nachrichten an die Warteschlange verwendet wird. Bereitstellung sowohl dieser als auchproducerLambdaFunctionPropsEin Fehler führt zu einem -Fehler.
ProducerLambdaFunctionProps? lambda.FunctionProps Optionale, vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die Lambda Funktion des Herstellers zu überschreiben.
BestehenQueueObj? sqs.Queue Eine optionale, vorhandene SQS-Warteschlange, die anstelle der Standardwarteschlange verwendet werden soll. Bereitstellung sowohl dieser als auchqueuePropsEin Fehler führt zu einem -Fehler.
QueueProps? sqs.QueueProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die SQS-Warteschlange zu überschreiben. Bereitstellung sowohl dieser als auchexistingQueueObjEin Fehler führt zu einem -Fehler.
DeployDeadletterQueue? boolean Erstellen Sie eine sekundäre Warteschlange, die als Warteschlange für unzustellbare Nachrichten verwendet wird. Standardeinstellung: true.
DeadLetterQueueProps? sqs.QueueProps Optionale, vom Benutzer bereitgestellte Requisiten zum Überschreiben der Standardrequisiten für die Warteschlange für tote Buchstaben. Wird nur verwendet, wenndeployDeadLetterQueue-Eigenschaft ist auftrue.
MaxReceiveCount? number Die Anzahl, wie oft eine Nachricht nicht erfolgreich entfernt werden kann, bevor sie in die Warteschlange für unzustellbare Nachrichten verschoben wird. Standardeinstellung: 15.
ExistingConsumerLambdaObj? lambda.Function Eine optionale, vorhandene Lambda Funktion, die anstelle der Standardfunktion zum Empfangen von Nachrichten aus der Warteschlange verwendet wird. Bereitstellung sowohl dieser als auchconsumerLambdaFunctionPropsEin Fehler führt zu einem -Fehler.
ConsumerLambdaFunctionProps? lambda.FunctionProps Optionale, vom Benutzer bereitgestellte Eigenschaften zum Überschreiben der Standardeigenschaften für die Lambda Funktion des Consumer.
WarteschlangenEnvironmentVariablenname? string Optionaler Name für die SQS-Warteschlangen-URL-Umgebungsvariable, die für die Lambda Funktion des Herstellers festgelegt wurde.

Muster-Eigenschaften

Name Typ Beschreibung
VerbraucherLambdaFunction lambda.Function Gibt eine Instanz der Lambda Funktion des Verbrauchers zurück, die durch das Muster erstellt wurde.
DeadLetterQueue? sqs.Queue Gibt eine Instanz der Warteschlange für toten Buchstaben zurück, die durch das Muster erstellt wurde, wenn eine bereitgestellt wird.
ProducerLambdaFunction lambda.Function Gibt eine Instanz der Lambda -Funktion des Herstellers zurück, die durch das Muster erstellt wurde.
SQSQueue sqs.Queue Gibt eine Instanz der SQS-Warteschlange zurück, die durch das Muster erstellt wurde.

Standardeinstellungen

Die Out-of-the-Box-Implementierung dieses Konstrukts (ohne überschriebene Eigenschaften) erfüllt die folgenden Standardwerte:

Funktionen von AWS Lambda

  • Konfigurieren Sie die IAM-Rolle für eingeschränkten Zugriffsberechtigungen für Lambda Funktionen.

  • Aktivieren Sie die Wiederverwendung von Verbindungen mit Keep-Alive für NodeJS Lambda Funktionen.

  • Aktivieren von X-Ray blaufverfolgung

  • Festlegen von Umgebungsvariablen:

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(für Node 10.x und höhere Funktionen)

Amazon SQS-Warteschlange

  • Bereitstellen Sie eine Warteschlange für unzustellbare Nachrichten für die primäre

  • Aktivieren Sie die serverseitige Verschlüsselung für die primäre Warteschlange mithilfe eines AWS Managed KMS-Schlüssels.

  • Erzwingen der Verschlüsselung von Daten während der Übertragung

Architecture

GitHub

Um den Code für dieses Muster anzuzeigen, erstellen/anzeigen Probleme und Pull-Anforderungen usw.:
@aws -solutions-constructs/aws-lambda-sqs-lambda