aws-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-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 ein Upgrade auf eine neuere Version dieses Pakets durchführen.

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

Overview

Dieses AWS Solutions Construct implementiert eine Amazon SQS Warteschlange, die mit einer AWS Lambda Funktion verbunden ist.

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

Parameter

Muster-Requisiten

Name Typ Beschreibung
Gibt es LambdaObj? lambda.Function Vorhandene Instanz des Lambda Function-Objekts, die sowohl diese als auchlambdaFunctionPropsverursacht einen Fehler.
LambdaFunctionProps? lambda.FunctionProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die Lambda Funktion zu überschreiben. Wird ignoriert, wenn einexistingLambdaObjwird bereitgestellt.
BestehenQueueObj? sqs.Queue Eine optionale, vorhandene SQS-Warteschlange, die anstelle der Standardwarteschlange verwendet werden soll. Bereitstellung sowohl dieser als auchqueuePropsverursacht einen Fehler.
QueueProps? sqs.QueueProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die SQS-Warteschlange zu überschreiben. Wird ignoriert, wenn einexistingQueueObjwird bereitgestellt.
DeployDeadletterQueue? boolean Erstellen Sie eine sekundäre Warteschlange, die als Warteschlange für unzustellbare Nachrichten dient. 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, wenn diedeployDeadLetterQueue-Eigenschaft auf „true“ festgelegt ist.
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.

Muster-Eigenschaften

Name Typ Beschreibung
DeadLetterQueue? sqs.Queue Gibt eine Instanz der Warteschlange für toten Buchstaben zurück, die durch das Muster erstellt wurde, wenn eine bereitgestellt wird.
LambdaFunction lambda.Function Gibt eine Instanz der Lambda Funktion 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.

Standardeinstellung

Die vorgefertigte Implementierung dieses Musters ohne Überschreibungen setzt die folgenden Standardwerte:

Amazon SQS-Warteschlange

  • Bereitstellen der SQS-Warteschlange für unzustellbare Nachrichten für die Quell-Warteschlange

  • Aktivieren der serverseitigen Verschlüsselung für Quell-SQS-Warteschlange mithilfe von AWS Managed KMS-Schlüssel

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

AWS Lambda-Funktion

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

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

  • Aktivieren der X-Ray Nachverfolgung

  • Festlegen von Umgebungsvariablen

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

Architecture

GitHub

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