aws-iot-lambda-dynamodb - Costrutti delle soluzioni AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

aws-iot-lambda-dynamodb

Tutte le classi sono in fase di sviluppo attivo e soggette a modifiche o rimozione non compatibili con le versioni precedenti in qualsiasi versione futura. Questi non sono soggetti allaSemantic Versioning (ControlloModello. Ciò significa che, mentre è possibile utilizzarli, potrebbe essere necessario aggiornare il codice sorgente quando si esegue l'aggiornamento a una versione più recente di questo pacchetto.

Nota: Per garantire la corretta funzionalità, i pacchetti AWS Solutions Constructs e i pacchetti AWS CDK nel progetto devono essere della stessa versione.

Linguaggio Pacchetto
Python
aws_solutions_constructs.aws_iot_lambda_dynamodb
TypeScript
@aws-solutions-constructs/aws-iot-lambda-dynamodb
Java
software.amazon.awsconstructs.services.iotlambdadynamodb

Overview

Questo modello AWS Solutions Constructs implementa una regola di argomento AWS IoT, una funzione AWS Lambda e una tabella Amazon DynamoDB con le autorizzazioni meno privilegiate.

Ecco una definizione di modello distribuibile minima 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);

Parametri

Puntelli di costruzione modelli

Nome Tipo Descrizione
EsistenteLambdaobj? lambda.Function Istanza esistente dell'oggetto Function Lambda, fornendo sia questo chelambdaFunctionPropscauserà un errore.
LambdafunctionPunps lambda.FunctionProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per la funzione Lambda. Ignorato se unexistingLambdaObjviene fornito.
IottoPicruleProps iot.CfnTopicRuleProps Fornito dall'utente di oggetti di scena per sovrascrivere i puntelli predefiniti
DynamoTableProps? dynamodb.TableProps L'utente facoltativo ha fornito oggetti di scena per sovrascrivere gli oggetti di scena predefiniti per DynamoDB Table
TablePermissions? string Autorizzazioni di tabella facoltative da concedere alla funzione Lambda. È possibile specificare una delle seguenti opzioni:All,Read,ReadWrite, oppureWrite: .

Proprietà modelli

Nome Tipo Descrizione
DynamoTable dynamodb.Table Restituisce un'istanza della tabella DynamoDB creata dalla serie.
IottoPicrule iot.CfnTopicRule Restituisce un'istanza della regola dell'argomento IoT creata dal pattern.
LambdaFunction lambda.Function Restituisce un'istanza della funzione Lambda creata dal pattern.

Impostazioni predefinite

L'implementazione predefinita di questo modello senza sostituzioni imposterà i seguenti valori predefiniti:

Regola IoT di Amazon

  • Configurare il ruolo IAM di accesso con privilegi minimi per Amazon IoT.

Funzione di AWS Lambda

  • Configurare il ruolo IAM di accesso con privilegi limitati per la funzione Lambda.

  • Abilita il riutilizzo delle connessioni con Keep-Alive per la funzione NodeJS Lambda.

  • Abilitare il tracciamento X-Ray.

  • Impostare le variabili di ambiente:

    • AWS_NODEJS_CONNECTION_REUSE_ENABLED(per le funzioni Node 10.x e successive)

Tabella Amazon DynamoDB

  • Impostare la modalità di fatturazione per DynamoDB Table su richiesta (Paga per richiesta).

  • Abilita la crittografia lato server per DynamoDB Table utilizzando la chiave AWS gestita.

  • Crea una chiave di partizione chiamata 'id' per DynamoDB Table.

  • Mantenere la tabella quando si elimina lo stack CloudFormation.

  • Consente i backup continui e il ripristino point-in-time.

Architecture

GitHub

Per visualizzare il codice per questo modello, creare/visualizzare problemi e richieste pull e altro ancora:
@aws -solutions-buils/aws-iot-lambda-dynamodb