aws-s3-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-s3-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 allaIl controllo delle versioni semanticheModello. 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_s3_lambda
TypeScript
@aws-solutions-constructs/aws-s3-lambda
Java
software.amazon.awsconstructs.services.s3lambda

Overview

Questo AWS Solutions Construct implementa un bucket Amazon S3 collegato a una funzione AWS Lambda.

Ecco una definizione di modello distribuibile minima in TypeScript:

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

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.
Esistente BucketObj? s3.Bucket Istanza esistente dell'oggetto S3 Bucket. Se questo è fornito, quindi anche fornirebucketPropsè un errore.
Bucket Props? s3.BucketProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per il bucket. Ignorato se unexistingBucketObjviene fornito.
S3EventSourceProps? S3EventSourceProps L'utente facoltativo ha fornito oggetti di scena per sovrascrivere gli oggetti di scena predefiniti per S3EventSourceProps

Proprietà dei modelli

Nome Tipo Descrizione
LambdaFunction lambda.Function Restituisce un'istanza della funzione Lambda creata dal pattern.
S3Bucket? s3.Bucket Restituisce un'istanza del bucket S3 creato dalla serie.
S3loggingBucket? s3.Bucket Restituisce un'istanza del bucket di registrazione creato dal pattern per il bucket S3.

Impostazioni predefinite

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

Amazon S3

  • Configurare la registrazione di accesso per il bucket S3

  • Abilita la crittografia lato server per S3 Bucket utilizzando la chiave AWS gestita KMS.

  • Attivare il controllo delle versioni per S3 Bucket.

  • Non consentire l'accesso pubblico per S3 Bucket.

  • Mantenere il bucket S3 quando si elimina lo stack CloudFormation.

  • Applicazione della crittografia dei dati in transito

  • Applica la regola del ciclo di vita per spostare le versioni degli oggetti non correnti nell'archivio Glacier dopo 90 giorni.

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.

  • Attivare il tracciamento X-Ray

  • Impostazione delle 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-s3-lambda