aws-lambda-sqs - 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

Alle Klassen befinden sich in aktiver Entwicklung und unterliegen nicht abwärtskompatiblen Änderungen oder Entfernen in jeder zukünftigen Version. Diese unterliegen nicht derSemantische 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
Typoskript
@aws-solutions-constructs/aws-lambda-sqs
Java
software.amazon.awsconstructs.services.lambdasqs

Overview

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

Hier ist eine minimale bereitstellbare Musterdefinition in TypeScript:

import { LambdaToSqs, LambdaToSqsProps } from "@aws-solutions-constructs/aws-lambda-sqs"; new LambdaToSqs(this, 'LambdaToSqsPattern', { 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 LambdaToSqs(scope: Construct, id: string, props: LambdaToSqsProps);

Parameter

Muster-Konstrukt

Name Typ Beschreibung
Gibt es LambdaObj? lambda.Function Eine optionale, vorhandene Lambda Funktion, die anstelle der Standardfunktion verwendet wird. Bereitstellung sowohl dieser als auchlambdaFunctionPropsführt zu einem -Fehler.
LambdaFunctionProps? lambda.FunctionProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die Lambda Funktion zu überschreiben.
BestehenQueueObj? sqs.Queue Eine optionale, vorhandene SQS-Warteschlange, die anstelle der Standardwarteschlange verwendet werden soll. Bereitstellung sowohl dieser als auchqueuePropsführt zu einem -Fehler.
QueueProps? sqs.QueueProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die SQS-Warteschlange zu überschreiben.
EnableQueueSurging? boolean Gibt an, ob der Lambda Funktion zusätzliche Berechtigungen erteilt werden sollen, um die SQS-Warteschlange zu bereinigen. Standardeinstellung: false.
DeployDeadletterQueue? boolean Ob eine sekundäre Warteschlange erstellt wird, 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, wenndeployDeadLetterQueuewird auf „true“ festgelegt.
MaxReceiveCount? number Die Anzahl, wie oft eine Nachricht nicht in die Warteschlange entfernt werden kann, bevor sie in die Warteschlange für unzustellbare Nachrichten verschoben wird. Standardeinstellung: 15.
ExistenzVPC? ec2.IVpc Eine optionale vorhandene VPC, in der dieses Pattern bereitgestellt werden soll. Bei der Bereitstellung in einer VPC verwendet die Lambda Funktion ENIs in der VPC, um auf Netzwerkressourcen zuzugreifen, und in der VPC für Amazon SQS wird ein Interface Endpoint erstellt. Wenn eine vorhandene VPC bereitgestellt wird, wird diedeployVpckann nichttrue. Einec2.IVpcwird verwendet, um Clients die Bereitstellung von VPCs zu ermöglichen, die außerhalb des Stacks vorhanden sind, mithilfe derec2.Vpc.fromLookup()-Methode.
DeployVPC? boolean Erstellen Sie, ob eine neue VPC basierend aufvpcProps, in das dieses Muster bereitgestellt werden soll. Setzen Sie diese Einstellung auftruestellt die minimale, privatste VPC bereit, um das Pattern auszuführen:
  • Ein isoliertes Subnetz in jeder Availability Zone, die vom CDK-Programm verwendet wird

  • enableDnsHostnamesundenableDnsSupportwerden beide auftrue

Wenn diese Eigenschafttrue, dannexistingVpckann nicht angegeben werden. Standardeinstellung: false.
VPCProps? ec2.VpcProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die neue VPC zu überschreiben.enableDnsHostnames,enableDnsSupport,natGateways, undsubnetConfigurationdurch das Muster festgelegt werden, so dass alle Werte für die hier angegebenen Eigenschaften überschrieben werden. WenndeployVpcist nichttruewird diese Eigenschaft ignoriert.
WarteschlangenEnvironmentVariablenname? string Optionaler Name für die SQS-Warteschlangen-URL-Umgebungsvariable, die für die Lambda Funktion festgelegt wurde.

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.
vpc? ec2.IVpc Gibt eine Instanz der VPC zurück, die vom Muster erstellt oder verwendet wird (falls vorhanden). Dies kann eine VPC sein, die durch das Muster erstellt wurde, oder eine VPC, die dem Musterkonstruktor zur Verfügung gestellt wird.

Standardeinstellung

Die Out-of-the-Box-Implementierung des Construct ohne Überschreibung setzt die folgenden Standardwerte:

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.

  • Erlauben Sie der Funktion, nur Nachrichten an die Warteschlange zu senden (das Löschen kann mit demenableQueuePurge-Eigenschaft).

  • Aktivieren der X-Ray blaufverfolgung

  • Festlegen von Umgebungsvariablen:

    • SQS_QUEUE_URL

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

Amazon SQS-Warteschlange

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

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

  • 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