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

How to see if azure batch job exists from azure cli?

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

id=$(az batch job show \
    --job-id  \
    --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

是否有更强大的方法来做到这一点?

基本上,我想检查一份工作是否已经存在。如果是这样,我想启用它并向其添加任务。否则,我会创建它并添加任务。

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

以上对我来说很好,似乎另一种可能的方式是这样的:

获取职位列表,然后您就有了要解析或筛选的集合。

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

关于 filter 这些 link 可能会有帮助:

文档link:

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