Как получить статистику заданий и задач в пакете Azure с помощью API Python?

Я недавно начал работать с пакетом Azure и обнаружил, что не могу получить статистику для данного задания, хотя поля для этого существуют.

Я использую Python API, когда я опрашиваю информацию о работе, поле stats всегда имеет значение None. Класс JobListOptions можно использовать с методом job.list, но документация не очень полезна.

Просматривая пример кода BatchExplorer, я обнаружил, что для поля expand класса JobListOptions может потребоваться установить значение stats, но я все еще не уверен, так как до сих пор не получаю статистику из Python API.


person Rastikan    schedule 07.07.2017    source источник


Ответы (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'
    )
)
person fpark    schedule 10.07.2017
comment
Я действительно нашел ответ самостоятельно, но вы написали ответ первым! - person Rastikan; 10.07.2017
comment
Было бы хорошим ответом, если бы вы также могли привести пример, чтобы получить статус отдельных задач. - person void; 10.01.2018
comment
Обновлен ответ на запрос с одной задачей. - person fpark; 11.01.2018

Похоже, вы хотите получить статистику использования ресурсов за все время существования заданий и задач пакетной службы Azure с помощью пакета SDK для Azure Python, поэтому сначала вам нужно включить диагностику для сбора журналов ServiceLog, как показано на рисунке ниже.

введите здесь описание изображения

Затем вы можете получить эту статистику stats из ответа методов batch_client.job.get(JOB_ID) и batch_client.task.get(JOB_ID, TASK_ID).

person Peter Pan    schedule 10.07.2017