AWS-Dynamodb-stream-lambda - 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-Dynamodb-stream-lambda

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 (VersionModello. 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_dynamodb_stream_lambda
TypeScript
@aws-solutions-constructs/aws-dynamodb-stream-lambda
Java
software.amazon.awsconstructs.services.dynamodbstreamlambda

Overview

Questo AWS Solutions Construct implementa un modello di tabella Amazon DynamoDB con flusso per richiamare la funzione AWS Lambda con le autorizzazioni meno privilegiate.

Ecco una definizione minima del modello distribuibile:

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

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.
DynamoTableProps? dynamodb.TableProps L'utente facoltativo ha fornito oggetti di scena per sovrascrivere gli oggetti di scena predefiniti per DynamoDB Table
TableObj esistente? dynamodb.Table Istanza esistente dell'oggetto tabella DynamoDB, fornendo sia questo chedynamoTablePropscauserà un errore.
DynamoEventSourceProps? aws-lambda-event-sources.DynamoEventSourceProps L'utente facoltativo ha fornito oggetti di scena per sovrascrivere gli oggetti di scena predefiniti per l'origine eventi DynamoDB

Proprietà modelli

Nome Tipo Descrizione
DynamoTable dynamodb.Table Restituisce un'istanza della tabella DynamoDB creata dalla serie.
LambdaFunction lambda.Function Restituisce un'istanza della funzione Lambda creata dal pattern.

valida e completa

Questo modello richiede una funzione Lambda in grado di pubblicare dati nel servizio Elasticsearch dal flusso DynamoDB. Viene fornita una funzione di esempioQui: .

Impostazioni predefinite

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

Tabella di Amazon DynamoDB

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

  • Abilitare la crittografia lato server per la tabella DynamoDB utilizzando la chiave AWS gestita KMS

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

  • Mantieni la tabella quando si elimina lo stack CloudFormation

  • Backup continui e ripristino point-in-time

Funzione di AWS Lambda

  • Configurare il ruolo IAM di accesso limitato per la funzione Lambda

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

  • Abilita il tracciamento X-Ray

  • Abilita funzionalità di gestione degli errori: abilita la bisezione sulla funzione Errore; imposta la durata massima record predefinita (24 ore); imposta i tentativi di tentativi massimi predefiniti (500) e distribuisci la coda di lettere non recapitate SQS come destinazione in caso di errore

  • Impostare le variabili di ambiente:

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

Architecture

GitHub

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