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à.
Distribuzione delle funzioni Lambda di PowerShell con gli archivi di file .zip
Un pacchetto di distribuzione per il runtime PowerShell contiene lo script PowerShell, i moduli PowerShell necessari per lo script PowerShell e gli assembly necessari per ospitare PowerShell Core.
Creazione di una funzione Lambda
Per iniziare a scrivere e invocare uno script PowerShell con , è possibile utilizzare il cmdlet New-AWSPowerShellLambda
per creare un script di inizio in base a un modello. È possibile utilizzare il cmdlet Publish-AWSPowerShellLambda
per distribuire lo script in Lambda. Quindi è possibile testare lo script utilizzando la riga di comando o la console Lambda.
Per creare un nuovo script PowerShell, caricarlo e testarlo, effettuare le seguenti operazioni:
-
Per visualizzare l'elenco dei modelli disponibili, esegui il comando seguente:
PS C:\> Get-AWSPowerShellLambdaTemplate Template Description -------- ----------- Basic Bare bones script CodeCommitTrigger Script to process AWS CodeCommit Triggers ...
-
Per creare uno script di esempio in base al modello
Basic
, esegui il comando seguente:New-AWSPowerShellLambda -ScriptName MyFirstPSScript -Template Basic
Un nuovo file con nome
MyFirstPSScript.ps1
viene creato in una nuova sottodirectory della directory corrente. Il nome della directory viene determinato in base al parametro-ScriptName
. Puoi utilizzare il parametro-Directory
per scegliere una directory alternativa.Puoi vedere che il nuovo file ha il seguente contenuto:
# PowerShell script file to run as a Lambda function # # When executing in Lambda the following variables are predefined. # $LambdaInput - A PSObject that contains the Lambda function input data. # $LambdaContext - An Amazon.Lambda.Core.ILambdaContext object that contains information about the currently running Lambda environment. # # The last item in the PowerShell pipeline is returned as the result of the Lambda function. # # To include PowerShell modules with your Lambda function, like the AWSPowerShell.NetCore module, add a "#Requires" statement # indicating the module and version. #Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'} # Uncomment to send the input to CloudWatch Logs # Write-Host (ConvertTo-Json -InputObject $LambdaInput -Compress -Depth 5)
-
Per vedere come i messaggi di log dello script PowerShell vengono inviati ad Amazon CloudWatch Logs, rimuovi il commento dalla riga
Write-Host
dello script di esempio.Per dimostrare come puoi restituire i dati dalle tue funzioni Lambda, aggiungi una nuova riga alla fine dello script con
$PSVersionTable
. In tal modo$PSVersionTable
viene aggiunto alla pipeline PowerShell. Al completamento dello script di PowerShell, l'ultimo oggetto nella pipeline PowerShell sono i dati restituiti per la funzione Lambda.$PSVersionTable
è una variabile globale PowerShell che fornisce inoltre informazioni sull'ambiente di esecuzione.Dopo aver apportato le modifiche, le ultime due righe dello script di esempio sono come riportato di seguito:
Write-Host (ConvertTo-Json -InputObject $LambdaInput -Compress -Depth 5) $PSVersionTable
-
Dopo la modifica del file
MyFirstPSScript.ps1
, modifica la directory sul percorso dello script. Quindi esegui il seguente comando per pubblicare lo script in Lambda:Publish-AWSPowerShellLambda -ScriptPath .\MyFirstPSScript.ps1 -Name MyFirstPSScript -Region us-east-2
Nota che il parametro
-Name
specifica il nome della funzione Lambda che viene visualizzato nella console Lambda. Puoi utilizzare questa funzione per invocare manualmente lo script. -
Invoca la funzione utilizzando il comando AWS Command Line Interface (AWS CLI)
invoke
.> aws lambda invoke --function-name MyFirstPSScript out