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

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_lambda_ssm_string_parameter
TypeScript
@aws-solutions-constructs/aws-lambda-ssmstringparameter
Java
software.amazon.awsconstructs.services.lambdassmstringparameter

Overview

Questo AWS Solutions Construct implementa la funzione AWS Lambda e il parametro AWS Systems Manager Parameter Store String con le autorizzazioni meno privilegiate.

Ecco una definizione di modello distribuibile minima in TypeScript:

const { LambdaToSsmstringparameterProps, LambdaToSsmstringparameter } from '@aws-solutions-constructs/aws-lambda-ssmstringparameter'; const props: LambdaToSsmstringparameterProps = { 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' }, stringParameterProps: { stringValue: "test-string-value" } }; new LambdaToSsmstringparameter(this, 'test-lambda-ssmstringparameter-stack', props);

Initializer

new LambdaToSsmstringparameter(scope: Construct, id: string, props: LambdaToSsmstringparameterProps);

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.
ExistingStringParameterObj? ssm.StringParameter Istanza esistente dell'oggetto parametro String SSM, fornendo sia questo chestringParameterPropscauserà un errore.
StringParameterProps? ssm.StringParameterProps L'utente facoltativo ha fornito oggetti di scena per sovrascrivere gli oggetti di scena predefiniti per il parametro String SSM. SeexistingStringParameterObjnon è impostato,stringParameterPropsè obbligatorio. L'unico supportatossm.StringParameterProps.typeèSTRINGse viene fornito un valore diverso, verrà sovrascritto.
StringParameterEnvironmentVariableName? string Nome facoltativo per la variabile di ambiente del parametro String SSM impostata per la funzione Lambda.
VPC esistente? ec2.IVpc Un VPC opzionale esistente in cui deve essere distribuito questo modello. Quando viene distribuita in un VPC, la funzione Lambda utilizzerà ENI nel VPC per accedere alle risorse di rete e verrà creato un endpoint di interfaccia nel parametro VPC per AWS Systems Manager. Se viene fornito un VPC esistente, l'opzionedeployVpcnon può esseretrue: . Questo utilizzaec2.IVpcper consentire ai client di fornire VPC che esistono al di fuori dello stack utilizzando il metodoec2.Vpc.fromLookup()Metodo.
VPCProp? ec2.VpcProps Proprietà facoltative fornite dall'utente per sovrascrivere le proprietà predefinite per il nuovo VPC.enableDnsHostnames,enableDnsSupport,natGatewaysesubnetConfigurationsono impostati dal modello, quindi tutti i valori per quelle proprietà fornite qui verranno ignorati. SedeployVpcnon ètrue, questa proprietà verrà ignorata.
DeployVPC? boolean Se creare un nuovo VPC basato suvpcPropsin cui distribuire questo modello. Impostazione di questo valore sutruedistribuirà il VPC minimo e più privato per eseguire il pattern:
  • Una sottorete isolata in ogni zona di disponibilità utilizzata dal programma CDK.

  • enableDnsHostnameseenableDnsSupportsaranno entrambi impostati sutrue: .

Se questa proprietà è impostata su.true, quindiexistingVpcnon può essere specificato. L'impostazione predefinita è false.
StringParameterPermissions? string Autorizzazioni facoltative dei parametri String SSM da concedere alla funzione Lambda. Può essere specificato uno degli elementi seguenti:Read,ReadWrite: .

Proprietà dei modelli

Nome Tipo Descrizione
LambdaFunction lambda.Function Restituisce un'istanza dilambda.Functioncreato dal costrutto.
stringa Parameter ssm.StringParameter Restituisce un'istanza dissm.StringParametercreato dal costrutto.
Il VPC? ec2.IVpc Restituisce un'interfaccia sul VPC utilizzato dal modello (se presente). Questo può essere un VPC creato dal pattern o dal VPC fornito al costruttore del pattern.

Impostazioni predefinite

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

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.

  • Imposta le variabili di ambiente:

    • SSM_STRING_PARAMETER_NAME (predefinito)

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

StringStore parametri di Amazon AWS Systems Manager

  • Abilita l'accesso in sola lettura per la funzione AWS Lambda associata.

  • Crea un nuovo parametro String SSM con i valori forniti.

  • Mantenere il parametro String SSM quando si elimina lo stack CloudFormation.

Architecture

GitHub

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