使用 REST API 创建 OS Azure 托管磁盘
Create OS Azure Managed Disk using REST API
我正在尝试按照 this document 创建 OS 托管磁盘 (Ubuntu 18.04)。但是我找不到合适的正文示例来创建这样的磁盘。我试着发送这个:
PUT https://management.azure.com/subscriptions/mysubscription/resourceGroups/myresourcegroup/providers/Microsoft.Compute/disks/mydisk?api-version=2018-09-30
{
"name": "mydisk",
"location": "westus2",
"properties": {
"osType": "Linux",
"diskSizeGB": 32,
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/subscriptions/mysubscription/Providers/Microsoft.Compute/Locations/westus2/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/UbuntuServer"
}
}
}
}
但我得到回复:
{
"error": {
"code": "InvalidParameter",
"message": "The value of parameter imageReference is invalid.",
"target": "imageReference"
}
}
有没有办法创建这样的磁盘?在我的示例中编辑了订阅 ID 和资源组名称。
我正在尝试以这种方式创建这样的磁盘,因为如果我在 VM 创建期间指定它,它将为 OS 托管磁盘生成一些名称。然后当我需要删除 VM 时,将很难确定要删除哪个 OS 托管磁盘。所以我希望这个磁盘有指定的名称,而不是随机的。
如错误所示,参数imageReference的值无效。一张特殊图片会有很多版本。比如UbuntuServer在Azure镜像中有很多SKU。
创建虚拟机时,可以使用 CLI 命令查看 OS 磁盘:
az disk show -g yourgroup -n yourdisk
您将看到 imageReference,对于 UbuntuLTS 图像,id 将如下所示:
/Subscriptions/yoursubscription/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.201903200
所以你应该提供一张特殊的图片。不是 UbuntuServer。
我正在尝试按照 this document 创建 OS 托管磁盘 (Ubuntu 18.04)。但是我找不到合适的正文示例来创建这样的磁盘。我试着发送这个:
PUT https://management.azure.com/subscriptions/mysubscription/resourceGroups/myresourcegroup/providers/Microsoft.Compute/disks/mydisk?api-version=2018-09-30
{
"name": "mydisk",
"location": "westus2",
"properties": {
"osType": "Linux",
"diskSizeGB": 32,
"creationData": {
"createOption": "FromImage",
"imageReference": {
"id": "/subscriptions/mysubscription/Providers/Microsoft.Compute/Locations/westus2/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/UbuntuServer"
}
}
}
}
但我得到回复:
{
"error": {
"code": "InvalidParameter",
"message": "The value of parameter imageReference is invalid.",
"target": "imageReference"
}
}
有没有办法创建这样的磁盘?在我的示例中编辑了订阅 ID 和资源组名称。
我正在尝试以这种方式创建这样的磁盘,因为如果我在 VM 创建期间指定它,它将为 OS 托管磁盘生成一些名称。然后当我需要删除 VM 时,将很难确定要删除哪个 OS 托管磁盘。所以我希望这个磁盘有指定的名称,而不是随机的。
如错误所示,参数imageReference的值无效。一张特殊图片会有很多版本。比如UbuntuServer在Azure镜像中有很多SKU。
创建虚拟机时,可以使用 CLI 命令查看 OS 磁盘:
az disk show -g yourgroup -n yourdisk
您将看到 imageReference,对于 UbuntuLTS 图像,id 将如下所示:
/Subscriptions/yoursubscription/Providers/Microsoft.Compute/Locations/eastus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.201903200
所以你应该提供一张特殊的图片。不是 UbuntuServer。