azure - 如何使用 Powershell 7 Get-AzVMImage 获取最新版本
问题描述
我正在尝试使用 Azure Powershell 7 commandlet 来获取最新版本的 Canonical UbuntuServer 18.04-LTS。
这是我的查询示例:
>> Get-AzVMImage -Location "eastus" -PublisherName "Canonical" -Offer "UbuntuServer" -Skus "18.04-LTS" -Version "latest"
身份验证后,我尝试运行该命令行开关,但出现以下错误:
Get-AzVMImage:
Line |
2 | Get-AzVMImage -Location "eastus" -PublisherName "Canonical" -Offer "U …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| The value of parameter version is invalid.
ErrorCode: InvalidParameter
ErrorMessage: The value of parameter version is invalid.
ErrorTarget: version
StatusCode: 400
ReasonPhrase: Bad Request
OperationID : 3cf54862-47c7-4092-97e9-20ae6556f37c
但是,如果我将 -Version 标志硬编码为已知版本号,如下所示:
>> Get-AzVMImage -Location "eastus" -PublisherName "Canonical" -Offer "UbuntuServer" -Skus "18.04-LTS" -Version "18.04.202109280"
我收到了成功的回复:
Location : eastus
PublisherName : Canonical
Offer : UbuntuServer
Skus : 18.04-LTS
Version : 18.04.202109280
FilterExpression :
Name : 18.04.202109280
HyperVGeneration : V1
OSDiskImage : {
"operatingSystem": "Linux"
}
PurchasePlan : null
DataDiskImages : []
这篇关于如何查找和使用市场映像的 Azure 文章Find and use Azure Marketplace VM images with Azure PowerShell states “...对于 SKU,使用 Get-AzVMImage 列出映像的版本。如果您想使用,也可以使用 latest最新的图像,而不是特定的旧版本。”
作为替代方案,它还提到您可以使用 URN 格式来代替“...这些值可以单独传递或作为图像 URN 传递,组合用冒号 (:) 分隔的值。例如:Publisher:Offer:Sku:版本。您可以将 URN 中的版本号替换为 latest 以使用最新版本的映像。
有谁知道我需要改变什么才能使用-Version "latest"
?
我正在考虑首先查询所有版本并获取列表中的最后一个。然后,我将一个$version
变量设置为最后一个版本号。但这似乎与 Azure 文档中的建议背道而驰。
解决方案
推荐阅读
- arrays - 查看数组是否按降序排列时跳过数组中的特定数字
- reactjs - react bootstrap 上的列显示,尽管被声明为 2 列,但仅显示为 1 列
- java - spring 在哪里查找带有 @Value 注释的值
- python - 根据键拆分字典
- python - 如果它们包含子字符串,我将附加到新列表,如果不包含,则附加到新列表。第二个列表得到了第一个的条件,为什么?
- intellij-idea - 将 IntelliJ 的控制台输出通过管道传输到脚本
- docker - 运行没有入口点的命令
- python - 创建一个列,它是熊猫中两个字符串列的差异
- python - 如果输入不足,如何遍历文件并引发自定义异常?
- python - 如何对字符串列表中的元素进行编号并返回一个新列表?