Implementa le funzioni PowerShell Lambda con archivi di file.zip - 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à.

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:

  1. 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 ...
  2. 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)
  3. 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
  4. 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.

  5. Invoca la funzione utilizzando il comando AWS Command Line Interface (AWS CLI) invoke.

    > aws lambda invoke --function-name MyFirstPSScript out