You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure CLI如何链式调用命令并将输出传递给其他Azure命令

Azure CLI 链式调用传递多结果的实现方案

原脚本失效核心原因:az storage account list 返回的是JSON数组结构,而 @ 参数默认仅支持绑定单个输入对象,无法直接解析数组内容。

方案1:跨平台原生CLI方案(推荐)

无需依赖系统工具,Windows、Linux、macOS全环境适用,利用Azure CLI原生的--ids参数批量处理输入:

az storage account list --subscription '<subscription>' --query "[].id" -o tsv | \
az storage account update --ids @- --allow-blob-public-access false

参数说明:

  • -o tsv 会将查询返回的资源ID数组转为每行一个ID的纯文本格式,避免JSON结构解析问题
  • --ids @- 表示从管道的标准输入中读取所有资源ID,批量执行更新操作

方案2:类Unix环境xargs方案

适用于Linux、macOS、WSL环境,先提取存储账户名称再逐个调用更新命令:

az storage account list --subscription '<subscription>' --query "[].name" -o tsv | \
xargs -I {} az storage account update --name {} --allow-blob-public-access false

参数说明:

  • -I {} 表示将xargs读取到的每一行存储账户名,替换到命令中的{}占位符位置

注意事项

  • 原有自定义<query>过滤规则可直接保留在az storage account list的query参数中,只需确保最终返回内容是[].name或[].id的数组结构即可
  • 若确认筛选结果仅包含1个存储账户,可将query调整为取首个元素属性(例如[0].name),配合-o tsv后直接使用--name @-也可正常运行

内容的提问来源于stack exchange,提问作者YTKColumba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:39:02