Azure CLI 如何迭代列表

标签 azure azure-cli2

我需要重新启动 Azure Batch 中的所有节点。我如何使用 Azure CLI 做到这一点?

本质上,我如何在 Azure CLI 中迭代列表/集合并在该循环中调用命令来停止 VM

最佳答案

没有一个命令可以做到这一点,但您可以使用脚本来重新启动所有节点。如果您使用 bash shell,则可以使用以下示例:

pools="$(az batch pool list |grep id|awk -F\" '{print $4}')"
for pool in $pools
{
  nodes="$(az batch node list --pool-id $name|grep -F "id\":"|awk -F\" '{print $4}')"
      for node in $nodes
      {
          az batch node reboot --node-id $node --pool-id $pool
      }
}

如果您可以使用 Power Shell,则可以使用

重新启动所有节点
Get-AzureBatchComputeNode -PoolId "MyPool" -BatchContext $Context | Restart-AzureBatchComputeNode -BatchContext $Context

有关此的更多信息请参阅此 link .

关于Azure CLI 如何迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49543208/

相关文章:

azure - 如何将诊断数据发送到 Application Insights? (自动化部署)

azure - Powershell循环直到输出一行

bash - Azure CLI 阻止虚拟机执行 bash 的速度非常慢

c# - 使用重试策略后配置 Azure 存储帐户时出错

azure - 可靠字典 vs Redis 缓存

azure - 使用 Azure AD 和应用角色保护 SPA 和 API

azure - 当前订阅中不存在该存储帐户

用于从 Azure DevOps 创建应用程序注册的 Azure CLI - 权限不足

Azure CLI 如何更改订阅默认值

成功登录后Azure az登录不显示详细信息