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

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

Overview

Dieses AWS Solutions Construct implementiert eine AWS Lambda Funktion, die mit einem Amazon SNS -Thema verbunden ist.

Hier ist eine minimale bereitstellbare Musterdefinition in TypeScript:

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

Parameter

Muster-Konstrukt Requisiten

Name Typ Beschreibung
Gibt es LambdaObj? lambda.Function Vorhandene Instanz des Lambda Function-Objekts, die sowohl diese als auchlambdaFunctionPropsführt zu einem -Fehler.
LambdaFunctionProps? lambda.FunctionProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die Lambda Funktion zu überschreiben. Wird ignoriert, wenn einexistingLambdaObjwird bereitgestellt.
Bestehend TopicObj? sns.Topic Vorhandene Instanz des SNS Topic-Objekts, die sowohl diese als auchtopicPropsführt zu einem -Fehler.
TopicProps? sns.TopicProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für das SNS-Thema zu überschreiben.
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 für den Zugriff auf Netzwerkressourcen, und ein Interface Endpoint wird in der VPC für Amazon SQS erstellt. Wenn eine vorhandene VPC bereitgestellt wird, wird diedeployVpckann nichttrue. Diese Verwendung vonec2.IVpc, damit Clients VPCs bereitstellen können, die außerhalb des Stacks vorhanden sind, mithilfe desec2.Vpc.fromLookup()-Methode.
DeployVPC? boolean So erstellen Sie eine neue VPCvpcProps, 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,natGatewaysundsubnetConfigurationwerden durch das Muster festgelegt, so dass alle Werte für die hier angegebenen Eigenschaften überschrieben werden. WenndeployVpcist nichttruewird diese Eigenschaft ignoriert.
TopicArnEnvironmentVariableName? string Optionaler Name für die ARN Umgebungsvariable des SNS-Thema, die für die Lambda Funktion festgelegt wurde.
TopicNameEnvironmentVariableName? string Optionaler Name für die Umgebungsvariable SNS-Themenname, die für die Lambda Funktion festgelegt wurde.

Muster-Eigenschaften

Name Typ Beschreibung
LambdaFunction lambda.Function Gibt eine Instanz der Lambda Funktion zurück, die durch das Muster erstellt wurde.
snsTopic sns.Topic Gibt eine Instanz des SNS-Themas zurück, das durch das Muster erstellt wurde.
vpc? ec2.IVpc Gibt eine Instanz der VPC zurück, die vom Muster verwendet wird (falls vorhanden). Dies kann eine VPC sein, die durch das Muster oder die VPC erstellt wurde, die dem Musterkonstruktor zur Verfügung gestellt wurde.

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.

  • Aktivieren Sie X-Ray Nachverfolgung.

  • Festlegen von Umgebungsvariablen:

    • SNS_TOPIC_NAME (Standard)

    • SNS_TOPIC_ARN (Standard)

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

Amazon SNS-Thema

  • Konfigurieren Sie Zugriffsberechtigungen mit den geringsten Berechtigungen für das SNS-Thema.

  • Aktivieren Sie die serverseitige Verschlüsselung mit dem verwalteten KMS-Schlüssel von AWS.

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

Architecture

AWS Lambda connected to Amazon Simple Notification Service with IAM role below Lambda.

GitHub

Um den Code für dieses Muster anzuzeigen, erstellen/anzeigen Probleme und Pull-Anforderungen usw.:
Circular icon with a graduation cap symbol representing education or learning.
@aws -solutions-konstrukte/aws-lambda-sns