0

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

我正在使用 Python API,当我轮询工作信息时,该stats字段始终为无。该类JobListOptions可以与该job.list方法一起使用,但文档不是很有用。

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

4

2 回答 2

2

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

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

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

或者对于一个工作下的所有任务:

my_batch_client.task.list(
    job_id='MY_JOB_ID',
    task_list_options=azure.batch.models.TaskListOptions(
        expand='stats'
    )
)

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

my_batch_client.task.get(
    job_id='MY_JOB_ID',
    task_id='MY_TASK_ID',
    task_get_options=azure.batch.models.TaskGetOptions(
        expand='stats'
    )
)
于 2017-07-10T15:05:58.510 回答
0

听起来您想使用 Azure Python SDK 获取 Azure Batch 作业和任务的整个生命周期的资源使用情况统计信息,因此首先您需要打开诊断以收集ServiceLog日志,如下图所示。

在此处输入图像描述

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

于 2017-07-10T09:07:26.300 回答