问题描述
我在devops中使用AzureCLI @ 2执行(通过Powershell)cli命令以首先删除然后清除。
CLI的错误处理很麻烦(您不能使用try / catch(请参阅https://rajbos.github.io/blog/2019/07/12/Azure-CLI-PowerShell)
当该物品仍在删除时会产生错误消息,而在清除该物品时也会产生错误消息。
我需要知道这两种情况之间的区别。知道我如何才能真正收到错误消息吗?
解决方法
如果azure cli命令失败,则可以在任务AzureCLI @ 2的日志中找到错误消息。通过它不输出到任务日志中的错误流。请参见下面的屏幕截图。
您可以将属性failOnStandardError
设置为true
。错误将被输出到日志中的错误流。
正如您提到的博客所指出的,try/catch
不适用于azure cli,因为azure cli命令不是为Powershell设计的。您还可以将错误消息写入错误流,以指示实际错误消息在日志中的位置:请参见以下内容:
$output = az keyvault key delete --name keyName --vault-name ..
if(!$output){
Write-Host "[Error] Error in deleting key keyName"
}