如何在Python脚本中获取Azure Batch的作业ID与任务ID
在Azure Batch的Python脚本中获取作业ID与任务ID
Azure Batch会自动将作业和任务的ID以环境变量的形式注入到计算节点的任务进程中,你可以直接通过Python的os模块读取这些环境变量来获取所需信息,无需额外配置。
获取核心变量
直接读取Batch自动注入的两个环境变量:
AZ_BATCH_JOB_ID: 当前任务所属的作业IDAZ_BATCH_TASK_ID: 当前任务的唯一标识ID
Python代码示例
import os import datetime # 读取环境变量中的作业与任务ID job_id = os.environ.get('AZ_BATCH_JOB_ID') task_id = os.environ.get('AZ_BATCH_TASK_ID') # 输出并记录信息(用于后续溯源调试) if job_id and task_id: print(f"当前作业ID: {job_id}, 当前任务ID: {task_id}") # 写入本地日志文件 with open('task_trace_log.txt', 'a', encoding='utf-8') as log_file: log_file.write(f"[{datetime.datetime.now()}] Job ID: {job_id}, Task ID: {task_id}\n") else: print("无法获取作业或任务ID")
额外实用变量
除了上述两个核心变量,Batch还会注入其他可用于调试的环境变量,比如:
AZ_BATCH_TASK_DIR: 当前任务的工作目录路径AZ_BATCH_NODE_ID: 运行任务的计算节点IDAZ_BATCH_JOB_NAME: 作业的名称
这些变量同样可以通过os.environ.get()读取,按需用于场景化调试。
内容的提问来源于stack exchange,提问作者AstroAT
相关产品推荐
相关产品推荐

