【问题标题】:How to export az network public-ip list output to a csv?如何将 az network public-ip list 输出导出到 csv?
【发布时间】:2020-08-05 21:02:27
【问题描述】:

如何将输出导出到 csv?提前致谢

az network public-ip list --query "[].{name: name, address: ipAddress}"

这是输出:

[
  { address: "23.101.140.39", name: foo},
  { address: "23.101.140.38", name: bar},
]

我尝试了az network public-ip list --query "[].{name: name, address: ipAddress}" | export-csv -path "c:\ips.csv",但这会输出一些元数据而不是实际数据。有没有办法使用 JMESPath 查询展开该文档数组?这可能会解决我面临的问题。

【问题讨论】:

    标签: azure powershell azure-cli jmespath az


    【解决方案1】:

    Export-CsvMicrosoft.PowerShell.Utility,它将对象转换为一系列逗号分隔值 (CSV) 字符串。由于您可以接受 PowerShell 命令,因此您可以使用 Az PowerShell Get-AzPublicIpAddress 轻松满足您的要求。不建议将 az CLI 命令与 PowerShell 命令混合使用。

    Get-AzPublicIpAddress | Select-Object Name,IpAddress | Export-Csv -Path "c:\ips.csv" -NoTypeInformation
    

    编辑

    对于 az cli,您可以将其与 PowerShell 一起使用,

    ((az network public-ip list --query "[].{name: name, address: ipAddress}") | ConvertFrom-Json) |  Export-Csv -path "c:\ips.csv" -NoTypeInformation
    

    【讨论】:

    • 您能否详细说明为什么不建议将 az cli 和 pwsh 混合使用?您能否将我链接到文档?
    • 为了清楚起见,Bash 脚本是内联使用的。根据我的经验,PowerShell 中使用的 az cli 与 Bash 中的 az cli 存在一些差异(例如引用问题)。见Tips for using Azure CLI effectively
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2015-01-17
    • 2022-01-21
    • 2021-10-24
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    相关资源
    最近更新 更多