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