Definisci il gestore di funzioni Lambda in PowerShell - AWS Lambda

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

Definisci il gestore di funzioni Lambda in PowerShell

Quando viene richiamata una funzione Lambda, il gestore Lambda richiama lo script. PowerShell

Quando lo PowerShell script viene richiamato, le seguenti variabili sono predefinite:

  • $ LambdaInput — Un oggetto PSObject che contiene l'input del gestore. L'input può essere costituito da dati dell'evento, pubblicati da un'origine eventi, o un input personalizzato che fornisci, ad esempio una stringa o qualsiasi oggetto dati personalizzato.

  • $ LambdaContext — Un LambdaContext oggetto Amazon.Lambda.Core.I che puoi utilizzare per accedere alle informazioni sulla chiamata corrente, come il nome della funzione corrente, il limite di memoria, il tempo di esecuzione rimanente e la registrazione.

Ad esempio, considera il seguente codice di esempio. PowerShell

#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'} Write-Host 'Function Name:' $LambdaContext.FunctionName

Questo script restituisce la FunctionName proprietà ottenuta dalla LambdaContext variabile $.

Nota

È necessario utilizzare l'#Requiresistruzione all'interno PowerShell degli script per indicare i moduli da cui dipendono gli script. Questa istruzione svolge due attività importanti. 1) Comunica agli altri sviluppatori i moduli utilizzati dallo script e 2) identifica i moduli dipendenti che AWS PowerShell gli strumenti devono includere nello script, come parte della distribuzione. Per ulteriori informazioni sull'#Requiresistruzione in PowerShell, vedere About requires. Per ulteriori informazioni sui pacchetti PowerShell di distribuzione, vedereImplementa le funzioni PowerShell Lambda con archivi di file.zip.

Quando la funzione PowerShell Lambda utilizza i AWS PowerShell cmdlet, assicurati di impostare un'#Requiresistruzione che faccia riferimento al AWSPowerShell.NetCore modulo, che supporta PowerShell Core, e non al modulo, che supporta solo WindowsAWSPowerShell. PowerShell Inoltre, assicurati di utilizzare la versione 3.3.270.0 o più recente di AWSPowerShell.NetCore che ottimizza il processo di importazione dei cmdlet. Se usi una versione precedente, sperimenterai partenze a freddo più lunghe. Per ulteriori informazioni, consultare AWS Strumenti per PowerShell.

Restituzione dei dati

Alcune chiamate Lambda hanno lo scopo di restituire i dati al loro chiamante. Ad esempio, se una chiamata era in risposta a una richiesta web proveniente da API Gateway, la funzione Lambda deve restituire la risposta. Per PowerShell Lambda, l'ultimo oggetto che viene aggiunto alla PowerShell pipeline sono i dati restituiti dalla chiamata Lambda. Se l'oggetto è una stringa, i dati vengono restituiti così come sono. In caso contrario, l'oggetto viene convertito in formato JSON utilizzando il cmdlet ConvertTo-Json.

Ad esempio, considera la seguente PowerShell dichiarazione, che si aggiunge alla pipeline: $PSVersionTable PowerShell

$PSVersionTable

Al termine dello PowerShell script, l'ultimo oggetto nella PowerShell pipeline è costituito dai dati di ritorno per la funzione Lambda. $PSVersionTableè una variabile PowerShell globale che fornisce anche informazioni sull'ambiente di esecuzione.