Führen Sie Python-Skripte aus GitHub - AWS Systems Manager

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.

Führen Sie Python-Skripte aus GitHub

Dieser Abschnitt enthält Verfahren, die Ihnen beim Ausführen von Python-Skripten helfen GitHub indem Sie entweder die AWS Systems Manager Konsole oder die AWS Command Line Interface (AWS CLI) verwenden.

Führen Sie ein Python-Skript aus GitHub (Konsole)

Führen Sie ein Python-Skript aus GitHub
  1. Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich Run Command.

  3. Wählen Sie Run Command (Befehl ausführen) aus.

  4. Wählen Sie in der Liste Command document (Befehlsdokument) die Option AWS-RunRemoteScript aus.

  5. Führen Sie unter Command parameters (Befehlsparameter) die folgenden Schritte aus:

    • Wählen Sie unter Quelltyp GitHub.

    • Geben Sie im Feld Source Info die für den Zugriff auf die Quelle erforderlichen Informationen im folgenden Format an:

      { "owner": "owner_name", "repository": "repository_name", "getOptions": "branch:branch_name", "path": "path_to_document", "tokenInfo": "{{ssm-secure:SecureString_parameter_name}}" }

      Im Folgenden wird beispielsweise ein Verzeichnis von Skripts mit dem Namen complex-script heruntergeladen.

      { "owner": "TestUser1", "repository": "SSMTestDocsRepo", "getOptions": "branch:myBranch", "path": "scripts/python/complex-script", "tokenInfo": "{{ssm-secure:myAccessTokenParam}}" }
      Anmerkung

      "branch" ist nur erforderlich, wenn Ihre Skripts in einer anderen Verzweigung als master gespeichert sind.

      Um die Version Ihrer Skripts zu verwenden, die sich in einem bestimmten Commit in Ihrem Repository befinden, verwenden Sie commitID mit getOptionsstatt branch. Zum Beispiel:

      "getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",

    • Geben Sie für Command Line (Befehlszeile) Parameter für die Skriptausführung ein. Ein Beispiel.

      mainFile.py argument-1 argument-2

      In diesem Beispiel wird mainFile.py ausgeführt. Diese Datei kann anschließend andere Skripts im Verzeichnis complex-script ausführen.

    • (Optional) Geben Sie für Working Directory (Arbeitsverzeichnis) den Namen eines Verzeichnisses auf dem Knoten ein, auf dem das Skript heruntergeladen und ausgeführt werden soll.

    • (Optional) Geben Sie für Execution Timeout (Ausführungstimeout) die Dauer in Sekunden an, bis das System die Skriptbefehlausführung fehlschlagen lässt.

  6. Identifizieren Sie für den Abschnitt Targets (Ziele) die verwalteten Knoten, auf denen Sie diese Operation ausführen möchten, indem Sie Tags angeben, Instances oder Edge-Geräte manuell auswählen oder eine Ressourcengruppe angeben.

    Tipp

    Wenn ein verwalteter Knoten, den Sie erwarten, nicht aufgeführt ist, finden Sie weitere Informationen unter Problembehandlung bei der Verfügbarkeit verwalteter Knoten Tipps zur Fehlerbehebung.

  7. Für Other parameters (Weitere Parameter):

    • Geben Sie im Feld Comment (Kommentar) Informationen zu diesem Befehl ein.

    • Geben Sie für Timeout (seconds) (Timeout (Sekunden)) in Sekunden an, wie lange gewartet werden soll, bis für die gesamte Befehlsausführung ein Fehler auftritt.

  8. Für Rate control (Ratenregelung):

    • Geben Sie unter Concurrency (Nebenläufigkeit) entweder eine Zahl oder einen Prozentsatz der verwalteten Knoten an, auf denen der Befehl gleichzeitig ausgeführt werden soll.

      Anmerkung

      Wenn Sie Ziele ausgewählt haben, indem Sie Tags angeben, die auf verwaltete Knoten angewendet werden, oder indem Sie AWS -Ressourcengruppen angeben, und Sie noch nicht sicher sind, wie viele verwaltete Knoten anvisiert sind, sollten Sie die Anzahl von Zielen, die das Dokument gleichzeitig ausführen kann, beschränken, indem Sie einen Prozentsatz angeben.

    • Geben Sie unter Error threshold (Fehlerschwellenwert) an, wann die Ausführung des Befehls auf anderen verwalteten Knoten beendet werden soll, nachdem dafür entweder auf einer bestimmten Anzahl oder einem Prozentsatz von Knoten ein Fehler aufgetreten ist. Falls Sie beispielsweise drei Fehler angeben, sendet Systems Manager keinen Befehl mehr, wenn der vierte Fehler empfangen wird. Von verwalteten Knoten, auf denen der Befehl noch verarbeitet wird, werden unter Umständen ebenfalls Fehler gesendet.

  9. (Optional) Wenn Sie im Abschnitt Output options (Ausgabeoptionen) die Befehlsausgabe in einer Datei speichern möchten, aktivieren Sie das Kontrollkästchen Enable writing to a S3 bucket (Schreiben in einen S3-Bucket aktivieren). Geben Sie die Namen für den Bucket und das Präfix (Ordner) in die Textfelder ein.

    Anmerkung

    Bei den S3-Berechtigungen, die das Schreiben der Daten in einen S3-Bucket ermöglichen, handelt es sich um die Berechtigungen des Instanzprofils (für EC2 Instances) oder der IAM Servicerolle (hybridaktivierte Maschinen), die der Instanz zugewiesen wurden, nicht um die des IAM Benutzers, der diese Aufgabe ausführt. Weitere Informationen finden Sie unter Konfigurieren der für Systems Manager erforderlichen Instanzberechtigungen oder Erstellen einer IAM Servicerolle für eine Hybridumgebung. Wenn sich der angegebene S3-Bucket in einem anderen befindet, stellen Sie außerdem sicher AWS-Konto, dass das Instanzprofil oder die IAM Servicerolle, die dem verwalteten Knoten zugeordnet sind, über die erforderlichen Berechtigungen verfügt, um in diesen Bucket zu schreiben.

  10. Wenn Sie möchten, dass SNSBenachrichtigungen über den Status der Befehlsausführung gesendet werden, aktivieren Sie im Abschnitt Benachrichtigungen das Kontrollkästchen SNSBenachrichtigungen aktivieren.

    Weitere Informationen zur Konfiguration von SNS Amazon-Benachrichtigungen für Run Command, finden Sie unter Überwachung von Systems Manager Manager-Statusänderungen mithilfe von SNS Amazon-Benachrichtigungen.

  11. Wählen Sie Ausführen aus.

Führen Sie ein Python-Skript aus GitHub mit dem AWS CLI

  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Führen Sie den folgenden Befehl aus, um ein Skript herunterzuladen und auszuführen von GitHub.

    aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "instance-IDs" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"owner_name\", \"repository\":\"repository_name\", \"path\": \"path_to_script_or_directory"}"],"commandLine":["commands_to_run"]}'

    Ein Beispiel.

    aws ssm send-command --document-name "AWS-RunRemoteScript" --instance-ids "i-02573cafcfEXAMPLE" --parameters '{"sourceType":["GitHub"],"sourceInfo":["{\"owner\":\"TestUser1\", \"repository\":\"GitHubTestPublic\", \"path\": \"scripts/python/complex-script\"}"],"commandLine":["mainFile.py argument-1 argument-2 "]}'

    In diesem Beispiel wird ein Verzeichnis von Skripts mit dem Namen complex-script heruntergeladen. Der commandLine-Eintrag führt mainFile.py aus. Diese Datei kann anschließend andere Skripts im Verzeichnis complex-script ausführen.