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à.
Implementa le funzioni PowerShell Lambda con archivi di file.zip
Un pacchetto di distribuzione per il PowerShell runtime contiene PowerShell lo script, PowerShell i moduli necessari per PowerShell lo script e gli assembly necessari per ospitare Core. PowerShell
Creazione di una funzione Lambda
Per iniziare a scrivere e richiamare uno PowerShell script con Lambda, è possibile utilizzare New-AWSPowerShellLambda
il cmdlet per creare uno script di avvio basato su 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 PowerShell script, caricarlo e testarlo, procedi come segue:
-
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 del tuo PowerShell script vengono inviati ad Amazon CloudWatch Logs, decommenta la
Write-Host
riga 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
. Questo aggiunge$PSVersionTable
alla pipeline. PowerShell Una volta completato lo 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.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