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

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_dynamodb
TypeScript
@aws-solutions-constructs/aws-lambda-dynamodb
Java
software.amazon.awsconstructs.services.lambdadynamodb

Overview

Dieses AWS Solutions Construct implementiert die AWS Lambda Funktion und die Amazon DynamoDB -Tabelle mit den geringsten Berechtigungen.

Hier ist eine minimale bereitstellbare Musterdefinition in TypeScript:

import { LambdaToDynamoDBProps, LambdaToDynamoDB } from '@aws-solutions-constructs/aws-lambda-dynamodb'; const props: LambdaToDynamoDBProps = { 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' } }; new LambdaToDynamoDB(this, 'test-lambda-dynamodb-stack', props);

Initializer

new LambdaToDynamoDB(scope: Construct, id: string, props: LambdaToDynamoDBProps);

Parameter

Muster-Konstrukt

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.
DynamoTableProps? dynamodb.TableProps Optional vom Benutzer bereitgestellte Requisiten zum Überschreiben der Standard-Requisiten für DynamoDB -Tabelle
ExistingTableObj? dynamodb.Table Vorhandene Instanz des DynamoDB -Tabellenobjekts, die sowohl diese als auchdynamoTablePropsführt zu einem -Fehler.
TabelleBerechtigungen? string Optionale Tabellenberechtigungen, die der Lambda Funktion erteilt werden sollen. Sie können eine der folgenden Optionen angeben:All,Read,ReadWrite, oderWrite.
TableEnvironmentVariableName? string Optionaler Name für die DynamoDB -Tabellenumgebungsvariable, die für die Lambda Funktion festgelegt wurde.
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 Gateway-Endpunkt wird in der VPC für Amazon DynamoDB 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.
VPCProps? ec2.VpcProps Optionale vom Benutzer bereitgestellte Eigenschaften, um die Standardeigenschaften für die neue VPC zu überschreiben.enableDnsHostnames,enableDnsSupport,natGateways, undsubnetConfigurationwerden durch das Muster festgelegt, so dass alle Werte für die hier angegebenen Eigenschaften überschrieben werden. WenndeployVpcist nichttruewird diese Eigenschaft ignoriert.
DeployVPC? boolean So erstellen Sie eine neue VPCvpcProps, in das dieses Muster bereitgestellt werden soll. Wenn Sie dies auf true setzen, wird die minimale, privatste VPC bereitgestellt, 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.

Muster-Eigenschaften

Name Typ Beschreibung
DynamoTable dynamodb.Table Gibt eine Instanz der DynamoDB -Tabelle zurück, die durch das Muster erstellt wurde.
LambdaFUNTION lambda.Function Gibt eine Instanz der Lambda Funktion zurück, die durch das Muster erstellt wurde.
vpc? ec2.IVpc Gibt eine Schnittstelle auf 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 vorgefertigte Implementierung dieses Musters ohne Überschreibungen 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 von X-Ray blaufverfolgung.

  • Festlegen von Umgebungsvariablen:

    • DDB_TABLE_NAME (Standard)

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

Amazon DynamoDB Tabelle

  • Legen Sie den Abrechnungsmodus für DynamoDB -Tabelle auf On-Demand fest (Bezahlen pro Anforderung).

  • Aktivieren Sie die serverseitige Verschlüsselung für DynamoDB Table mithilfe von AWS verwaltetem KMS-Schlüssel.

  • Erstellt einen Partitionsschlüssel namens 'id' für DynamoDB -Tabelle.

  • Behalten Sie die Tabelle beim Löschen des CloudFormation-Stacks bei.

  • Ermöglicht kontinuierliche Sicherungen und zeitpunktbezogene Wiederherstellungen.

Architecture

GitHub

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