创建ACR定时清理任务时遇acb.yaml不存在错误求助
解决ACR定时任务创建时"acb.yaml does not exist"错误
可能原因
近期Azure CLI版本更新后,无上下文任务(指定--context /dev/null)的参数解析逻辑发生变化,系统会尝试从空上下文目录读取任务配置文件acb.yaml,从而触发错误。另外命令换行导致的参数传递异常也可能引发该问题。
修复方案
方案1:更新Azure CLI到最新版本
部分旧版本CLI存在无上下文任务的bug,更新到最新版可解决:
az upgrade
方案2:调整命令参数,明确指定任务配置来源
将--context /dev/null替换为--file -,表示从标准输入读取任务配置,避免系统寻找acb.yaml:
PURGE_CMD="acr purge --filter 'worker:.*' --untagged --ago 1d" az acr task create --name remove_old_images_worker --cmd "$PURGE_CMD" --schedule "0 0 * * *" --registry registry --file -
方案3:使用单行命令避免换行解析问题
将命令合并为一行,减少参数传递时的歧义:
az acr task create --name remove_old_images_worker --cmd "acr purge --filter 'worker:.*' --untagged --ago 1d" --schedule "0 0 * * *" --registry registry --context /dev/null --file -
方案4:明确指定任务类型为cron
声明任务为定时cron类型,帮助CLI正确解析参数:
az acr task create --name remove_old_images_worker --cmd "acr purge --filter 'worker:.*' --untagged --ago 1d" --schedule "0 0 * * *" --registry registry --type cron --context /dev/null
内容的提问来源于stack exchange,提问作者Igor Alex
相关产品推荐
相关产品推荐

