Azure 市场:是否可以在托管应用程序产品中使用图像?
Azure Marketplace: Is it possible to use images in Managed Application offer?
我创建了 Azure 托管应用程序。我使用 mainTemplate.json
中的托管映像来创建新的虚拟机,例如:
{
"type": "Microsoft.Compute/images",
"apiVersion": "2018-04-01",
"name": "front-image",
"location": "[parameters('location')]",
"properties": {
"storageProfile": {
"osDisk": {
"osType": "linux",
"osState": "Generalized",
"blobUri": "[concat('https://sdfasdfasdf.blob.core.windows.net/images/myserver.vhd')]",
"caching": "ReadWrite",
"storageAccountType": "Standard_LRS"
}
}
}
}, {
"apiVersion": "2016-04-30-preview",
"type": "Microsoft.Compute/virtualMachines",
"name": "myserver",
"location": "[parameters('location')]",
"dependsOn": ["myserver-nic", "myserver-images"],
"properties": {
"storageProfile": {
"imageReference": {
"id": "[resourceId('Microsoft.Compute/images', 'myserver-image')]"
}
},
...
}
}
这在服务目录中运行良好。但是当我尝试从 Azure Marketplace 部署应用程序时,出现下一个错误:
源 blob https://sdfasdfasdf.blob.core.windows.net/images/myserver.vhd 不属于订阅 ****** 中的存储帐户。
在 Azure FAQ 我发现下一个:
问:我可以使用 Azure 存储帐户中的 VHD 文件创建具有不同订阅的托管磁盘吗?
答:是的。
我做错了什么?
这只适用于一些怪癖。基本上你需要做一些类似于 this 的事情。因此,使用某种第三方机制在客户订阅中创建图像。您不能跨订阅使用图像(至少在撰写本文时)。
blob 容器的访问级别似乎有问题。请检查它,它应该是 public,而不是私人的。所以你不应该在你的图像中存储任何秘密。
Marketplace 不允许这样做(会导致认证失败)。市场报价(托管应用或解决方案模板)中使用的任何虚拟机映像都必须作为 VM 报价发布到 Azure 市场。它可以隐藏(因此用户不会直接部署图像)但仍然需要在市场上。
我创建了 Azure 托管应用程序。我使用 mainTemplate.json
中的托管映像来创建新的虚拟机,例如:
{
"type": "Microsoft.Compute/images",
"apiVersion": "2018-04-01",
"name": "front-image",
"location": "[parameters('location')]",
"properties": {
"storageProfile": {
"osDisk": {
"osType": "linux",
"osState": "Generalized",
"blobUri": "[concat('https://sdfasdfasdf.blob.core.windows.net/images/myserver.vhd')]",
"caching": "ReadWrite",
"storageAccountType": "Standard_LRS"
}
}
}
}, {
"apiVersion": "2016-04-30-preview",
"type": "Microsoft.Compute/virtualMachines",
"name": "myserver",
"location": "[parameters('location')]",
"dependsOn": ["myserver-nic", "myserver-images"],
"properties": {
"storageProfile": {
"imageReference": {
"id": "[resourceId('Microsoft.Compute/images', 'myserver-image')]"
}
},
...
}
}
这在服务目录中运行良好。但是当我尝试从 Azure Marketplace 部署应用程序时,出现下一个错误:
源 blob https://sdfasdfasdf.blob.core.windows.net/images/myserver.vhd 不属于订阅 ****** 中的存储帐户。
在 Azure FAQ 我发现下一个:
问:我可以使用 Azure 存储帐户中的 VHD 文件创建具有不同订阅的托管磁盘吗?
答:是的。
我做错了什么?
这只适用于一些怪癖。基本上你需要做一些类似于 this 的事情。因此,使用某种第三方机制在客户订阅中创建图像。您不能跨订阅使用图像(至少在撰写本文时)。
blob 容器的访问级别似乎有问题。请检查它,它应该是 public,而不是私人的。所以你不应该在你的图像中存储任何秘密。
Marketplace 不允许这样做(会导致认证失败)。市场报价(托管应用或解决方案模板)中使用的任何虚拟机映像都必须作为 VM 报价发布到 Azure 市场。它可以隐藏(因此用户不会直接部署图像)但仍然需要在市场上。