Python-Skript, das den Ausführungsverlauf in einer Umgebung auflistet, in der viele AWS Glue-Jobs ausgeführt werden

Ich habe zuvor darüber gebloggt, wie der Ausführungsverlauf von Kleberjobs in einem Befehlszeilen-Einzeiler angezeigt wird.

Die Anzeige von Datum und Uhrzeit war jedoch nicht gut und schwierig zu verwenden. Deshalb habe ich sie mit einem Python-Skript neu geschrieben.

import boto3

#Wenn Sie ein anderes als das Standardprofil verwenden möchten, geben Sie es hier an
profile = "default"

session = boto3.session.Session(profile_name = profile)

client = session.client("glue")

jobs = client.get_jobs()

header = [
    "started",
    "completed",
    "executionTime",
    "status",
    "name",
    "allocatedCapacity",
    "maxCapacity",
    "glueVersion",
    "errorMessage",
]

result = []

for job in jobs["Jobs"]:
    name = job["Name"]
    history = client.get_job_runs(JobName = name)
    for run in history["JobRuns"]:
        started = run["StartedOn"].strftime("%Y-%m-%d %H:%M:%S")
        if "CompletedOn" in run:
            completed = run["CompletedOn"].strftime("%Y-%m-%d %H:%M:%S")
        else:
            completed = ""
        executionTime = str(run["ExecutionTime"])
        if executionTime == "0":
            executionTime = ""
        status = run["JobRunState"]
        if "ErrorMessage" in run:
            errorMessage = run["ErrorMessage"]
        else:
            errorMessage = ""
        allocatedCapacity = str(run["AllocatedCapacity"])
        maxCapacity = str(run["MaxCapacity"])
        glueVersion = str(run["GlueVersion"])
        result.append([
            started,
            completed,
            executionTime,
            status,
            name,
            allocatedCapacity,
            maxCapacity,
            glueVersion,
            errorMessage,
        ])

#Nach Startzeit sortieren
result.sort(key = lambda r: r[0])

#Ausgabe tabulatorgetrennt
print("\t".join(header))
for r in result:
    print("\t".join(r))

Es zeigt die Start- und Endzeit an, scheint jedoch abhängig von der Umgebungsvariablen "TZ" in Ortszeit angezeigt zu werden.

Recommended Posts

Python-Skript, das den Ausführungsverlauf in einer Umgebung auflistet, in der viele AWS Glue-Jobs ausgeführt werden
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Erstellen einer Umgebung, die Python mit Eclipse verwendet
Erstellen Sie mit PyInstaller eine exe-Datei, die in einer Windows-Umgebung ohne Python funktioniert
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Eine Reihe von Skriptdateien, die Wordcloud mit Python3 ausführen
Ein Skript, das Tweets mit Python abruft, sie in einer externen Datei speichert und morphologische Analysen durchführt.
Die eval () -Funktion, die eine Zeichenfolge als Ausdruck in Python berechnet
[Django] SQLite-Versionsfehler beim Ausführen von python manage.py in einer aws cloud9-Umgebung
Führen Sie den Python-Interpreter im Skript aus
Erstellen einer virtuellen Umgebung in einer Anaconda-Umgebung
Erstellen Sie in 1 Minute eine Vim + Python-Testumgebung
Ein Memo, das ich schnell in Python geschrieben habe
Ein Skript, das nur einen RSS-Feed erhält
Erstellen Sie einfach eine Python 3-Ausführungsumgebung unter Windows
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Ein Programm, das doppelte Anweisungen in Python entfernt
Umschreiben von Elementen in einer Listenschleife (Python)
Installieren Sie das Python-Paket in einer Offline-Umgebung
"Python Kit", das Python-Skripte von Swift aufruft
Denken Sie daran, eine Python 3-Umgebung in einer Mac-Umgebung zu erstellen
[Python] Erstellen Sie eine asynchrone Taskausführungsumgebung + Überwachungsumgebung
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Rufen Sie Python-Skripte aus Embedded Python in C ++ / C ++ auf
Einführung in Python "Re" 1 Erstellen einer Ausführungsumgebung
Starten Sie die Shell, während das Python-Skript ausgeführt wird
Erstellen Sie eine Python-Ausführungsumgebung unter IBM i
Fügen Sie ein Objekt in eine Zeichenfolge in Python ein
[Docker] Erstellen Sie in 3 Minuten eine jupyterLab (Python) -Umgebung!
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Python-Skript, das das Azure-Status-RSS crawlt und an Hipchat sendet
Ein Python-Skript, das die Anzahl der Jobs für eine bestimmte Bedingung von Indeed.com abruft
Versuchen Sie, Schedule auszuführen, um Instanzen in AWS Lambda (Python) zu starten und zu stoppen.
Skript zum einfachen Erstellen einer Clientgeräteumgebung für AWS IoT (Python v2-Version)