如何查看azure cli中是否存在azure批处理作业?

时间:2018-04-12 20:40:06

标签: azure-cli azure-batch

目前,我执行以下操作以查看是否存在作业:

id=$(az batch job show \
    --job-id $1 \
    --query id \
    --output tsv \
    --account-key $AZ_BATCH_KEY \
    --account-name $AZ_BATCH_ACCOUNT \
    --account-endpoint $AZ_BATCH_ENDPOINT)

if [ "$id" == "" ]; then
    # create job
else
    # enable job
fi

有更强大的方法吗?

基本上,我想检查作业是否已经存在。如果是,我想启用它并向其添加任务。否则,我将创建它并添加任务。

我正在使用自动池功能在创建作业时创建池,并在作业终止时删除池。

1 个答案:

答案 0 :(得分:2)

上面看起来很好,看起来另一种可能的方式可能是这样的:

获取作业列表,然后您有一个要解析或过滤的集合。

az batch job list [--account-endpoint]
              [--account-key]
              [--account-name]
              [--expand]
              [--filter]
              [--job-schedule-id]
              [--select]

关于filter这些链接可能会有所帮助:

文档链接:

关于健壮性,我不确定是否有针对特定命令的任何性能指标。如果在这里发挥作用,可能值得分享性能优化的场景。