You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SDK导出AWS Glue作业监控的作业运行表(无需逐一遍历)

导出AWS Glue作业运行记录的两种方案

一、控制台直接导出(零代码)

  1. 登录AWS控制台,进入Glue服务页面
  2. 左侧导航栏选择作业运行监控,在页面顶部设置目标日期范围(比如最近1天)
  3. 表格加载完成后,点击右上角的导出按钮,直接下载CSV格式的运行记录文件

二、用AWS SDK/CLI批量获取(无需遍历作业)

如果需要程序化获取数据,不用逐个遍历Glue作业,推荐通过AWS CloudTrail的事件查询实现:
CloudTrail会自动记录所有Glue作业的启动、状态变更等事件,直接查询这些事件就能拿到全量运行记录,无需先列出所有作业再逐个拉取运行日志。

Python(boto3)示例

import boto3
import json
from datetime import datetime, timedelta

cloudtrail = boto3.client('cloudtrail')

# 定义查询时间范围(示例:最近24小时)
start_dt = datetime.utcnow() - timedelta(hours=24)
end_dt = datetime.utcnow()

# 查询Glue作业启动事件
response = cloudtrail.lookup_events(
    StartTime=start_dt,
    EndTime=end_dt,
    LookupAttributes=[
        {'AttributeKey': 'EventSource', 'AttributeValue': 'glue.amazonaws.com'},
        {'AttributeKey': 'EventName', 'AttributeValue': 'StartJobRun'}
    ],
    MaxResults=100
)

# 解析并提取关键信息
for event in response['Events']:
    event_data = json.loads(event['CloudTrailEvent'])
    job_name = event_data['requestParameters']['jobName']
    run_id = event_data['responseElements']['jobRunId']
    status = event_data['responseElements']['jobRunState']
    print(f"作业名: {job_name}, 运行ID: {run_id}, 当前状态: {status}")

AWS CLI示例

# 查询最近1天的Glue作业启动事件,输出JSON格式结果
aws cloudtrail lookup-events \
    --start-time $(date -u -d "1 day ago" +%Y-%m-%dT%H:%M:%SZ) \
    --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \
    --lookup-attributes AttributeKey=EventSource,AttributeValue=glue.amazonaws.com AttributeKey=EventName,AttributeValue=StartJobRun \
    --output json

如果需要追踪作业运行的完整状态变更(比如从启动到成功/失败),只需将上述代码中的EventName替换为JobRunStateChanged即可。

内容的提问来源于stack exchange,提问作者ivan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:13:25