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.
aws:executeScript
- Führen Sie ein Skript aus
Führt das Python oder das PowerShell Skript aus, das mit der angegebenen Laufzeit und dem angegebenen Handler bereitgestellt wird. Jede aws:executeScript
-Aktion kann bis zu einer maximalen Dauer von 600 Sekunden (10 Minuten) laufen. Sie können die Zeitüberschreitung über den Parameter timeoutSeconds
für einen aws:executeScript
-Schritt limitieren.
Verwenden Sie Rückgabe-Anweisungen in Ihrer Funktion, um Ihrer Ausgabenutzlast Ausgaben hinzuzufügen. Für Beispiele zum Definieren von Ausgaben für Ihre aws:executeScript
-Aktion, siehe Beispiel 2: Skriptbasiertes Runbook. Sie können auch die Ausgabe von aws:executeScript
Aktionen in Ihren Runbooks an die von Ihnen angegebene CloudWatch Amazon-Logs-Protokollgruppe senden. Weitere Informationen finden Sie unter Ausgabe von Automatisierungsaktionen mit CloudWatch Protokollen protokollieren.
Wenn Sie die Ausgabe von aws:executeScript
Aktionen an CloudWatch Logs senden möchten oder wenn die Skripts, die Sie für aws:executeScript
Aktionen angeben, AWS API Operationen aufrufen, ist immer eine AWS Identity and Access Management (IAM) -Servicerolle (oder eine Rolle übernehmen) erforderlich, um das Runbook auszuführen.
Die aws:executeScript
Aktion enthält die folgenden vorinstallierten PowerShell Core-Module:
-
Microsoft. PowerShell. Gastgeber
-
Microsoft. PowerShell. Geschäftsleitung
-
Microsoft. PowerShell. Sicherheit
-
Microsoft. PowerShell. Hilfsprogramm
-
PackageManagement
-
PowerShellGet
Zur Verwendung von PowerShell Core-Modulen, die nicht vorinstalliert sind, muss das Skript das Modul wie im folgenden Befehl gezeigt mit dem -Force
-Flag installieren. Das AWSPowerShell.NetCore
-Modul wird nicht unterstützt. Ersetzen ModuleName
mit dem Modul, das Sie installieren möchten.
Install-Module
ModuleName
-Force
Um PowerShell Core-Cmdlets in Ihrem Skript zu verwenden, empfehlen wir die Verwendung der AWS.Tools
Module, wie in den folgenden Befehlen gezeigt. Ersetzen Sie jedes example resource placeholder
mit Ihren eigenen Informationen.
-
Amazon S3 Cmdlets.
Install-Module AWS.Tools.S3 -Force Get-S3Bucket -BucketName
amzn-s3-demo-bucket
-
EC2Amazon-Cmdlets.
Install-Module AWS.Tools.EC2 -Force Get-EC2InstanceStatus -InstanceId
instance-id
-
Allgemeine oder dienstunabhängige AWS Tools for Windows PowerShell Cmdlets.
Install-Module AWS.Tools.Common -Force Get-AWSRegion
Wenn Ihr Skript zusätzlich zur Verwendung von PowerShell Core-Cmdlets neue Objekte initialisiert, müssen Sie das Modul auch importieren, wie im folgenden Befehl gezeigt.
Install-Module AWS.Tools.EC2 -Force Import-Module AWS.Tools.EC2 $tag = New-Object Amazon.EC2.Model.Tag $tag.Key = "Tag" $tag.Value = "TagValue" New-EC2Tag -Resource
i-02573cafcfEXAMPLE
-Tag $tag
Beispiele für das Installieren und Importieren von AWS.Tools
Modulen und für das Verwenden von PowerShell Core-Cmdlets im Inhalt des Runbooks finden Sie unter. Visuelle Designerfahrung für Automation-Runbooks
Eingabe
Geben Sie die zum Ausführen Ihres Skripts erforderlichen Informationen an. Ersetzen Sie jedes example resource placeholder
mit Ihren eigenen Informationen.
Anmerkung
Der Anhang für ein Python-Skript kann eine .py- oder .zip-Datei sein, die das Skript enthält. PowerShell Skripts müssen in ZIP-Dateien gespeichert werden.
- Laufzeit
-
Die Laufzeitsprache, die für die Ausführung des bereitgestellten Skripts verwendet werden soll.
aws:executeScript
unterstützt Skripts in Python 3.7 (python3.7), Python 3.8 (python3.8), Python 3.8 (python3.8), Python 3.8 (python3.8), Python 3.8 (python3.8) Core 6.0 (dotnetcore2.1) und 7.0 (dotnetcore3.1). PowerShell PowerShellpython3.7
python3.8
python3.9
python3.10
python3.11
PowerShell Core 6.0
Unterstützte Werte: | | | | |PowerShell 7.0
Typ: Zeichenfolge
Erforderlich: Ja
- Handler
-
Der Name Ihrer Funktion. Sie müssen sicherstellen, dass die im Handler definierte Funktion über zwei Parameter verfügt:
events
undcontext
. Die PowerShell Laufzeit unterstützt diesen Parameter nicht.Typ: Zeichenfolge
Erforderlich: Ja (Python) | Nicht unterstützt (PowerShell)
- InputPayload
-
Ein JSON YAML OR-Objekt, das an den ersten Parameter des Handlers übergeben wird. Dies kann verwendet werden, um Eingabedaten an das Skript zu übergeben.
Typ: Zeichenfolge
Erforderlich: Nein
- Script
-
Ein eingebettetes Skript, das während der Automatisierung ausgeführt werden soll.
Typ: Zeichenfolge
Erforderlich: Nein (Python) | Ja (PowerShell)
- Attachment
-
Der Name einer eigenständigen Skriptdatei oder einer ZIP-Datei, die von der Aktion aufgerufen werden kann. Geben Sie denselben Wert wie den
Name
der Dokument-Anhangsdatei an, den Sie im AnforderungsparameterAttachments
angeben. Weitere Informationen finden Sie unter Anlagen in der AWS Systems Manager APIReferenz. Wenn Sie ein Skript mithilfe einer Anlage bereitstellen, müssen Sie auch einenfiles
-Abschnitt in den Elementen der obersten Ebene Ihres Runbooks definieren. Weitere Informationen finden Sie unter Schema der Version 0.3.Um eine Datei für Python aufzurufen, verwenden Sie das
filename.method_name
-Format inHandler
.Anmerkung
Der Anhang für ein Python-Skript kann eine .py- oder .zip-Datei sein, die das Skript enthält. PowerShell Skripts müssen in ZIP-Dateien gespeichert werden.
Wenn Sie Python-Bibliotheken in Ihren Anhang einfügen, empfehlen wir, eine leere
__init__.py
-Datei in jedem Modulverzeichnis hinzuzufügen. Auf diese Weise können Sie die Module aus der Bibliothek in Ihrem Anhang innerhalb Ihres Skriptinhalts importieren. Zum Beispiel:from library import module
Typ: Zeichenfolge
Erforderlich: Nein
Output
- Nutzlast
-
Die JSON Darstellung des Objekts, das von Ihrer Funktion zurückgegeben wird. Bis zu 100 KB werden zurückgegeben. Wenn Sie eine Liste ausgeben, werden maximal 100 Elemente zurückgegeben.