2024-09-29 21:39:10 发布
网友
我最近开始使用Azure批处理,发现无法获取给定作业的统计信息,尽管存在该作业的字段。在
我使用的是pythonapi,当我轮询作业信息时,stats字段始终为None。JobListOptions类可以与job.list方法一起使用,但是文档不是很有用。在
stats
JobListOptions
job.list
通过BatchExplorer示例代码,我发现JobListOptions类的expand字段可能需要设置为stats,但我仍然不确定,因为我仍然没有从Python API获取统计信息。在
expand
您可以从作业中获取统计信息,如下所示:
my_batch_client.job.list( job_list_options=azure.batch.models.JobListOptions( expand='stats' ) )
请注意,如果你只对一份工作感兴趣,那么找一份工作比列出所有工作更有效。在这种情况下,使用my_batch_client.job.get()和适当的JobGetOptions。在
my_batch_client.job.get()
JobGetOptions
或者对于作业下的所有任务:
同样,如果您只对作业下的单个任务感兴趣,则只查询该任务,因为它更高效:
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日志,如下图所示。在
ServiceLog
然后您可以从方法batch_client.job.get(JOB_ID)&;batch_client.task.get(JOB_ID, TASK_ID)的响应中得到这些统计信息stats。在
batch_client.job.get(JOB_ID)
batch_client.task.get(JOB_ID, TASK_ID)
您可以从作业中获取统计信息,如下所示:
请注意,如果你只对一份工作感兴趣,那么找一份工作比列出所有工作更有效。在这种情况下,使用
my_batch_client.job.get()
和适当的JobGetOptions
。在或者对于作业下的所有任务:
^{pr2}$同样,如果您只对作业下的单个任务感兴趣,则只查询该任务,因为它更高效:
听起来您想使用azurepythonsdk获取Azure批处理作业和任务的整个生命周期的资源使用统计信息,因此首先需要打开诊断功能来收集
ServiceLog
日志,如下图所示。在然后您可以从方法
batch_client.job.get(JOB_ID)
&;batch_client.task.get(JOB_ID, TASK_ID)
的响应中得到这些统计信息stats
。在相关问题 更多 >
编程相关推荐