如何使用pythonapi在Azure批处理中获取作业和任务统计信息?

2024-09-29 21:39:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近开始使用Azure批处理,发现无法获取给定作业的统计信息,尽管存在该作业的字段。在

我使用的是pythonapi,当我轮询作业信息时,stats字段始终为None。JobListOptions类可以与job.list方法一起使用,但是文档不是很有用。在

通过BatchExplorer示例代码,我发现JobListOptions类的expand字段可能需要设置为stats,但我仍然不确定,因为我仍然没有从Python API获取统计信息。在


Tags: 方法代码文档none信息示例pythonapistats
2条回答

您可以从作业中获取统计信息,如下所示:

my_batch_client.job.list(
    job_list_options=azure.batch.models.JobListOptions(
        expand='stats'
    )
)

请注意,如果你只对一份工作感兴趣,那么找一份工作比列出所有工作更有效。在这种情况下,使用my_batch_client.job.get()和适当的JobGetOptions。在

或者对于作业下的所有任务:

^{pr2}$

同样,如果您只对作业下的单个任务感兴趣,则只查询该任务,因为它更高效:

my_batch_client.task.get(
    job_id='MY_JOB_ID',
    task_id='MY_TASK_ID',
    task_get_options=azure.batch.models.TaskGetOptions(
        expand='stats'
    )
)

听起来您想使用azurepythonsdk获取Azure批处理作业和任务的整个生命周期的资源使用统计信息,因此首先需要打开诊断功能来收集ServiceLog日志,如下图所示。在

enter image description here

然后您可以从方法batch_client.job.get(JOB_ID)&;batch_client.task.get(JOB_ID, TASK_ID)的响应中得到这些统计信息stats。在

相关问题 更多 >

    热门问题