关于boto3 Glue get_job_runs返回结果排序规则的确认请求
关于Glue get_job_runs返回结果排序的验证
是的,get_job_runs返回的作业运行记录默认是按开始时间倒序排列的,第一条就是最新的运行记录。
虽然AWS官方文档没有明确标注这个默认排序规则,但在实际使用和大量开发者实践中,这个排序逻辑是稳定的。如果你需要确认,可以通过以下方式验证:
- 调用接口后,打印每条记录的
StartedOn字段,对比时间戳就能看到第一条的时间是最近的 - 可以用简单的代码做验证:
import boto3 glue = boto3.client('glue') job_runs = glue.get_job_runs(JobName="your-target-job")["JobRuns"] # 输出前3条的开始时间 for i, run in enumerate(job_runs[:3]): print(f"第{i+1}条:开始时间 {run['StartedOn']},运行ID {run['Id']}")
如果要做到绝对严谨,避免未来AWS调整默认排序的可能,可以手动对返回的记录按StartedOn字段倒序排序:
sorted_runs = sorted(job_runs, key=lambda x: x["StartedOn"], reverse=True) latest_run = sorted_runs[0]
另外需要注意:如果作业运行记录数量较多,get_job_runs会分页返回,这时需要处理NextToken获取所有记录后再排序,才能确保拿到全局最新的运行记录。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

