aws-iot-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-iot-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 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_iot_lambda_dynamodb
Typoskript
@aws-solutions-constructs/aws-iot-lambda-dynamodb
Java
software.amazon.awsconstructs.services.iotlambdadynamodb

Overview

Dieses AWS Solutions Constructs-Muster implementiert eine AWS IoT -Themenregel, eine AWS Lambda Funktion und Amazon DynamoDB -Tabelle mit den geringsten Berechtigungen.

Hier ist eine minimale bereitstellbare Musterdefinition in TypeScript:

import { IotToLambdaToDynamoDBProps, IotToLambdaToDynamoDB } from '@aws-solutions-constructs/aws-iot-lambda-dynamodb'; const props: IotToLambdaToDynamoDBProps = { 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' }, iotTopicRuleProps: { topicRulePayload: { ruleDisabled: false, description: "Processing of DTC messages from the AWS Connected Vehicle Solution.", sql: "SELECT * FROM 'connectedcar/dtc/#'", actions: [] } } }; new IotToLambdaToDynamoDB(this, 'test-iot-lambda-dynamodb-stack', props);

Initializer

new IotToLambdaToDynamoDB(scope: Construct, id: string, props: IotToLambdaToDynamoDBProps);

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.
IottopicRuleProps iot.CfnTopicRuleProps Vom Benutzer bereitgestellte Requisiten zum Überschreiben der Standard-Requisiten
DynamoTableProps? dynamodb.TableProps Optional vom Benutzer bereitgestellte Requisiten zum Überschreiben der Standard-Requisiten für DynamoDB -Tabelle
TabelleBerechtigungen? string Optionale Tabellenberechtigungen, die der Lambda Funktion erteilt werden sollen. Es können folgende Optionen angegeben werden:All,Read,ReadWrite, oderWrite.

Muster-Eigenschaften

Name Typ Beschreibung
DynamoTable dynamodb.Table Gibt eine Instanz der DynamoDB -Tabelle zurück, die durch das Muster erstellt wurde.
IottopicRule iot.CfnTopicRule Gibt eine Instanz der IoT -Themenregel zurück, die durch das Muster erstellt wurde.
LambdaFunction lambda.Function Gibt eine Instanz der Lambda Funktion zurück, die durch das Muster erstellt wurde.

Standardeinstellungen

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

Amazon IoT Regel

  • Konfigurieren Sie die IAM-Rolle für den Zugriff auf die geringste Berechtigung für Amazon IoT.

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 blaufverfolgung.

  • Festlegen von Umgebungsvariablen:

    • 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-iot-lambda-dynamodb