azure - 如何通过 REST API 创建具有公共 IP 地址的 Azure VM
问题描述
如何通过 API 使用请求创建具有公共 IP 地址的 Azure VM。这是当前的请求正文,但我不知道需要添加什么才能让 VM 拥有公共 IP 地址 - 谢谢
{
"location": "ukwest",
"properties": {
"hardwareProfile": {
"vmSize": "Standard_B1s"
},
"storageProfile": {
"imageReference": {
"id": "/subscriptions/28f23ba2-c344-448c-808b-e45a97a29764/resourceGroups/main/providers/Microsoft.Compute/images/ukproxy"
},
"osDisk": {
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS"
},
"name": "myVMosdisk",
"createOption": "FromImage"
}
},
"osProfile": {
"adminUsername": "user",
"computerName": "user",
"adminPassword": "password!"
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/28f23ba2-c344-448c-808b-e45a97a29764/resourceGroups/main/providers/Microsoft.Network/networkInterfaces/nic",
"properties": {
"primary": true
}
}
]
}
},
"name": "VM"
}
解决方案
公共 IP 只是关联到网络接口。因此,您在创建 VM 时无需担心公共 IP。您所要做的就是创建公共 IP 并将其关联到属于 VM 的接口。
例如,创建网络接口时的请求正文将如下所示:
{
"name": "test-nic",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic",
"location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"ipConfigurations": [
{
"name": "ipconfig1",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig1",
"properties": {
"provisioningState": "Succeeded",
"privateIPAddress": "172.20.2.4",
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
},
"subnet": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default"
},
"primary": true,
"privateIPAddressVersion": "IPv4"
}
}
],
"dnsSettings": {
"dnsServers": [],
"appliedDnsServers": []
},
"enableAcceleratedNetworking": true,
"enableIPForwarding": false
},
"type": "Microsoft.Network/networkInterfaces"
}
推荐阅读
- python-3.x - ValueError:Series 的真值不明确。熊猫
- python - win32com 尝试打开 Access 数据库并使用 python 运行宏,但始终打开只读模式
- c++ - 两个线程将相同的内容写入同一个文件是否安全?
- php - Laravel 动态下拉获取数据问题
- c# - EF Core - 从字符串转换日期和/或时间时转换失败
- javascript - 错误消息“DevTools 无法加载 SourceMap:无法加载 chrome-extension://... 的内容”
- c# - Xml 反序列化在它应该为空时给出意外的默认值
- javascript - AWS Amplify 推送是否会打包整个 node_modules 文件夹?
- python-3.x - 我的算法的基准测试是否正确?
- php - 在 Laravel 控制器中动态创建 $input 以将数据插入表中(由于 Foreach 循环无法正常工作而导致错误)