python - Azure SDK中是否有一个python类来保留实例的公共(public)IP地址?

标签 python azure sdk

我试图在关闭或取消分配 Azure VM 之前保留它的公共(public) IP 地址,但我无法在 Azure SDK 中找到任何用于此目的的 Python 类。当我在 UI 中关闭虚拟机时,它会询问我是否要保留公共(public) IP 地址。我想要具有相同功能的类。我该如何解决这个问题?

我尝试将公共(public) IP 保存到变量中,并在虚拟机关闭后将其传递给 NIC,但事实证明它不接受我提供的 IP。

network_client = NetworkManagementClient(credentials=setup['values'], subscription_id=test_bed.subscription_id)

parapip = network_client.models().PublicIPAddress(location='West US', public_ip_allocation_method='Static', ip_address='104.42.218.83')

network_client.public_ip_addresses.create_or_update(resource_group_name=setup['resource_group_name'], public_ip_address_name='mgmt2-pip-jp07zf', parameters=parapip)

最佳答案

事实上,如果您有一个与该 Azure VM 关联的动态分配公共(public) IP 地址,当您在 Azure 门户中停止该 VM 时,UI 会询问您是否要保留该公共(public) IP 地址。如果您在停止虚拟机之前有静态分配公共(public) IP 地址,则 UI 不会询问您是否要保留公共(public) IP 地址。

为此,如果您已经拥有静态公共(public) IP,则即使停止 VM,该 IP 地址也不会丢失。您可以更改代码以动态设置 IP 地址。例如,要为虚拟机创建公共(public) IP 地址,请在 .py 文件中的变量后面添加此函数:

def create_public_ip_address(network_client): 公共(public) IP 地址参数 = { “位置”:位置, 'public_ip_allocation_method': '动态' } 创建结果 = network_client.public_ip_addresses.create_or_update( 团队名字, '我的IP地址', 公共(public)IP地址参数 ) 返回creation_result.result()

如果您想释放虚拟机,您可以使用此代码,

def stop_vm(compute_client):
    compute_client.virtual_machines.deallocate(GROUP_NAME, VM_NAME)

更多详细信息来自Create and manage Windows VMs in Azure using Python .

关于python - Azure SDK中是否有一个python类来保留实例的公共(public)IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55944314/

相关文章:

android - 升级到 10.10 后在 Ubuntu 中无法在 Eclipse 中配置 Android SDK

python - 如何使用带有 PYTHON 的 Selenium 驱动程序获取 http 响应?

python - 如何测试打包为可重用应用程序的 Django-CMS 插件

linux - Azure Docker Web App - 无法更新容器设置的数据

Azure Function 到 SignalR(无服务器)再到 Web 应用程序

android - 推荐的最低 Android 应用 SDK

python - 在 Python 中打印所有 unicode 字符

python - 在使用 Python、Pyro 和 pytest 的测试框架上记录输入和输出

c# - AspNetCoreModuleV2问题.NET Core 3.0

ios - Facebook iOS 应用政策 : Where is the back to Facebook banner in the sdk?