Script Python qui répertorie l'historique d'exécution dans un environnement exécutant de nombreuses tâches AWS Glue

J'ai déjà blogué sur la façon d'afficher l'historique d'exécution de Glue Job dans une ligne de commande à une ligne.

Cependant, l'affichage de la date et de l'heure n'était pas bon et il était difficile à utiliser, donc je l'ai réécrit avec un script Python.

import boto3

#Si vous souhaitez utiliser un profil autre que celui par défaut, spécifiez-le ici
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,
        ])

#Trier par heure de démarrage
result.sort(key = lambda r: r[0])

#Sortie délimitée par des tabulations
print("\t".join(header))
for r in result:
    print("\t".join(r))

Il affiche l'heure de début et l'heure de fin, mais il semble être affiché à l'heure locale en fonction de la variable d'environnement TZ.

Recommended Posts

Script Python qui répertorie l'historique d'exécution dans un environnement exécutant de nombreuses tâches AWS Glue
Que contient cette variable (lorsque le script Python est en cours d'exécution)
Créer un environnement qui utilise Python avec Eclipse
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
Essayez d'exécuter python dans l'environnement Django créé avec pipenv
Créons un script qui s'enregistre avec Ideone.com en Python.
Un ensemble de fichiers de script qui font wordcloud avec Python3
Un script qui récupère les tweets avec Python, les enregistre dans un fichier externe et effectue une analyse morphologique.
Fonction Eval () qui calcule une chaîne de caractères comme expression en python
[Django] Erreur de version de sqlite lors de l'exécution de python manage.py dans l'environnement aws cloud9
Exécuter l'interpréteur Python dans le script
Créer un environnement virtuel dans un environnement Anaconda
Créez un environnement de test Vim + Python en 1 minute
Un mémo que j'ai écrit un tri rapide en Python
Un script qui ne reçoit qu'un flux RSS
Créez simplement un environnement d'exécution Python 3 sous Windows
Créer un environnement virtuel avec conda avec Python
Un programme qui supprime les instructions en double en Python
Réécrire des éléments dans une boucle de listes (Python)
Installez le package python dans un environnement hors ligne
"Kit Python" qui appelle des scripts Python depuis Swift
Pensez à créer un environnement Python 3 dans un environnement Mac
[Python] Créer un environnement d'exécution de tâches asynchrone + environnement de surveillance
Travaillez dans un environnement virtuel avec Python virtualenv.
Appel de scripts Python à partir de Python intégré en C ++ / C ++
Introduction à Python "Re" 1 Construction d'un environnement d'exécution
Lancez le shell pendant que le script Python est en cours d'exécution
Créer un environnement d'exécution Python sur IBM i
Insérer un objet dans une chaîne en Python
[Docker] Créez un environnement jupyterLab (python) en 3 minutes!
Créer un environnement d'exécution python avec VS Code
Script Python qui explore le flux RSS du statut Azure et le publie sur Hipchat
Un script python qui obtient le nombre de travaux pour une condition spécifiée sur Indeed.com
Essayez d'exécuter Schedule pour démarrer et arrêter des instances dans AWS Lambda (Python)
Script pour créer facilement un environnement de périphérique client pour AWS IoT (version Python v2)
[AWS] J'ai essayé de créer un environnement Python avec un environnement de développement eb [Elastic Beanstalk]