Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Definieren Sie den Lambda-Funktionshandler in PowerShell
Wenn eine Lambda-Funktion aufgerufen wird, ruft der Lambda-Handler das Skript auf. PowerShell
Wenn das PowerShell Skript aufgerufen wird, sind die folgenden Variablen vordefiniert:
-
$ LambdaInput
— Ein PSObject, das die Eingabe für den Handler enthält. Diese Eingabedaten können (von einer Ereignisquelle veröffentlichte) Ereignisdaten oder beliebige andere Eingabedaten sein, die Sie in Form einer Zeichenfolge oder eines benutzerdefinierten Datenobjekts übergeben. -
$ LambdaContext
— Ein LambdaContext Amazon.Lambda.Core.I-Objekt, mit dem Sie auf Informationen über den aktuellen Aufruf zugreifen können, z. B. den Namen der aktuellen Funktion, das Speicherlimit, die verbleibende Ausführungszeit und die Protokollierung.
Betrachten PowerShell Sie zum Beispiel den folgenden Beispielcode.
#Requires -Modules @{ModuleName='AWSPowerShell.NetCore';ModuleVersion='3.3.618.0'} Write-Host 'Function Name:' $LambdaContext.FunctionName
Dieses Skript gibt die FunctionName Eigenschaft zurück, die aus der LambdaContext Variablen $ abgerufen wurde.
Anmerkung
Sie müssen die #Requires
Anweisung in Ihren PowerShell Skripten verwenden, um anzugeben, von welchen Modulen Ihre Skripten abhängen. Diese Anweisung erfüllt zwei wichtige Aufgaben. 1) Es teilt anderen Entwicklern mit, welche Module das Skript verwendet, und 2) es identifiziert die abhängigen Module, die AWS PowerShell Tools im Rahmen der Bereitstellung mit dem Skript paketieren müssen. Weitere Informationen zu der #Requires
Anweisung in finden Sie PowerShell unter About requires
Wenn Ihre PowerShell Lambda-Funktion die AWS PowerShell Cmdlets verwendet, stellen Sie sicher, dass Sie eine #Requires
Anweisung festlegen, die auf das AWSPowerShell.NetCore
Modul verweist, das PowerShell Core unterstützt, und nicht auf das AWSPowerShell
Modul, das nur Windows unterstützt. PowerShell Stellen Sie zudem sicher, dass Sie AWSPowerShell.NetCore
Version 3.3.270.0 oder höher verwenden, da diese den Cmdlet-Importvorgang optimiert. Mit älteren Versionen dauern Kaltstarts länger. Weitere Informationen finden Sie unter AWS Tools for PowerShell
Zurückgeben von Daten
Einige Lambda-Aufrufe sollen Daten zurück an ihren Aufrufer zurückgeben. Beispiel: Wenn ein Aufruf als Reaktion auf eine Webanforderung aus API Gateway erfolgt ist, muss unsere Lambda-Funktion die Antwort zurückgeben. Für PowerShell Lambda sind das letzte Objekt, das der PowerShell Pipeline hinzugefügt wurde, die Rückgabedaten des Lambda-Aufrufs. Wenn es sich bei dem Objekt um eine Zeichenfolge handelt, werden die Daten im Ist-Zustand zurückgegeben. Andernfalls wird das Objekt mithilfe des ConvertTo-Json
-Cmdlets in JSON konvertiert.
Stellen Sie sich zum Beispiel die folgende PowerShell Anweisung vor, die die Pipeline erweitert: $PSVersionTable
PowerShell
$PSVersionTable
Nachdem das PowerShell Skript abgeschlossen ist, sind die Rückgabedaten für die Lambda-Funktion das letzte Objekt in der PowerShell Pipeline. $PSVersionTable
ist eine PowerShell globale Variable, die auch Informationen über die laufende Umgebung bereitstellt.