如何通过 api 创建 azure 虚拟机?? (不是经典的,是在新的 Azure 管理门户上的那个)
How to create azure virtual machine via api?? (not the classic one, the one which on new azure manage portal)
我想通过 api 或 python sdk 创建 azure 的新虚拟机,这是我们在 azure 的新管理门户上拥有的一个,它允许我使用操作机器的 network security group
在门户网站上。谢谢!
enter image description here
您应该使用 Azure 资源管理模板,它使您能够使用您希望创建的环境的声明形式
模板的描述在这里
https://azure.microsoft.com/en-us/documentation/articles/resource-group-authoring-templates/
您会在 GitHub 上找到许多示例(查找 azure-quickstart-templates)
如果您仍希望使用 python SDK,则必须进行相应的 REST API 调用。关于这种方式的一篇不错的文章在这里:
http://blogs.msdn.com/b/scicoria/archive/2015/02/12/azure-resource-manager-creating-an-iaas-vm-within-a-vnet.aspx
希望对您有所帮助
最好的祝福
斯蒂芬
您可以使用 Visual Studio 资源组项目,这将帮助您为 VM 生成 JSON 模板,您可以直接使用 Powershell 或 API 提交模板,
{
"apiVersion": "2015-06-15",
"type": "Microsoft.Compute/virtualMachines",
"name": "[variables('vmName')]",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "VirtualMachine"
},
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', variables('vhdStorageName'))]",
"[concat('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
],
"properties": {
"hardwareProfile": {
"vmSize": "[variables('vmSize')]"
},
"osProfile": {
"computerName": "[variables('vmName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"storageProfile": {
"imageReference": {
"publisher": "[variables('imagePublisher')]",
"offer": "[variables('imageOffer')]",
"sku": "[parameters('windowsOSVersion')]",
"version": "latest"
},
"osDisk": {
"name": "osdisk",
"vhd": {
"uri": "[concat('http://', variables('vhdStorageName'), '.blob.core.windows.net/', variables('vhdStorageContainerName'), '/', variables('OSDiskName'), '.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "[concat('http://', variables('diagnosticsStorageName'), '.blob.core.windows.net')]"
}
}
},
为了力量 Shell 脚本
# Create or update the resource group using the specified template file and template parameters file
New-AzureRmResourceGroup -Name $ResourceGroupName -Location $ResourceGroupLocation -Verbose -Force -ErrorAction Stop
New-AzureRmResourceGroupDeployment -Name ((Get-ChildItem $TemplateFile).BaseName + '-' + ((Get-Date).ToUniversalTime()).ToString('MMdd-HHmm'))
-ResourceGroupName $ResourceGroupName
-TemplateFile $TemplateFile
-TemplateParameterFile $TemplateParametersFile
@可选参数`
-强制-详细
我想通过 api 或 python sdk 创建 azure 的新虚拟机,这是我们在 azure 的新管理门户上拥有的一个,它允许我使用操作机器的 network security group
在门户网站上。谢谢!
enter image description here
您应该使用 Azure 资源管理模板,它使您能够使用您希望创建的环境的声明形式 模板的描述在这里 https://azure.microsoft.com/en-us/documentation/articles/resource-group-authoring-templates/ 您会在 GitHub 上找到许多示例(查找 azure-quickstart-templates)
如果您仍希望使用 python SDK,则必须进行相应的 REST API 调用。关于这种方式的一篇不错的文章在这里: http://blogs.msdn.com/b/scicoria/archive/2015/02/12/azure-resource-manager-creating-an-iaas-vm-within-a-vnet.aspx
希望对您有所帮助 最好的祝福 斯蒂芬
您可以使用 Visual Studio 资源组项目,这将帮助您为 VM 生成 JSON 模板,您可以直接使用 Powershell 或 API 提交模板,
{
"apiVersion": "2015-06-15",
"type": "Microsoft.Compute/virtualMachines",
"name": "[variables('vmName')]",
"location": "[resourceGroup().location]",
"tags": {
"displayName": "VirtualMachine"
},
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', variables('vhdStorageName'))]",
"[concat('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
],
"properties": {
"hardwareProfile": {
"vmSize": "[variables('vmSize')]"
},
"osProfile": {
"computerName": "[variables('vmName')]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]"
},
"storageProfile": {
"imageReference": {
"publisher": "[variables('imagePublisher')]",
"offer": "[variables('imageOffer')]",
"sku": "[parameters('windowsOSVersion')]",
"version": "latest"
},
"osDisk": {
"name": "osdisk",
"vhd": {
"uri": "[concat('http://', variables('vhdStorageName'), '.blob.core.windows.net/', variables('vhdStorageContainerName'), '/', variables('OSDiskName'), '.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "[concat('http://', variables('diagnosticsStorageName'), '.blob.core.windows.net')]"
}
}
},
为了力量 Shell 脚本
# Create or update the resource group using the specified template file and template parameters file
New-AzureRmResourceGroup -Name $ResourceGroupName -Location $ResourceGroupLocation -Verbose -Force -ErrorAction Stop
New-AzureRmResourceGroupDeployment -Name ((Get-ChildItem $TemplateFile).BaseName + '-' + ((Get-Date).ToUniversalTime()).ToString('MMdd-HHmm'))
-ResourceGroupName $ResourceGroupName
-TemplateFile $TemplateFile
-TemplateParameterFile $TemplateParametersFile
@可选参数`
-强制-详细