gpt4 book ai didi

python - 用于检查 VM 是否具有公共(public) IP 的 Azure Python API

转载 作者:行者123 更新时间:2023-12-03 06:43:36 24 4
gpt4 key购买 nike

我的用例是:

  1. 确定虚拟机是否具有公共(public) IP(T/F)。
  2. (可选)打印公共(public) IP。

我一直在尝试提到的很多组合 herehere 。我的主要目标是确定虚拟机是否具有关联的公共(public) IP。似乎 azure python sdk 随着时间的推移而发生了变化,一些旧的解决方案不起作用。

我找到了一个简单的 azure cli 命令来完成这项工作,但我无法找到它相应的 api。

az vm list-ip-addresses --name testVM

是否有 API 调用可以提供相同的信息。如果没有,识别 azure 虚拟机是否具有公共(public) IP 的最佳方法是什么。

最佳答案

我尝试在我的环境中重现相同的结果并得到以下结果:

我有一个名为 srivm 的 Azure VM,其公共(public) IP 如下:

enter image description here

为了通过 Python API 获取此信息,我使用客户端 key 创建了一个服务主体,如下所示:

enter image description here

我尝试使用以下代码获取虚拟机的公共(public)IP地址并成功获取:

from azure.identity import ClientSecretCredential
from azure.mgmt.compute import ComputeManagementClient
from azure.mgmt.network import NetworkManagementClient
credential = ClientSecretCredential(
tenant_id=<tenantID>, #Your TenantID
client_id=<appID>, #Your AppID
client_secret=<secret> #Your Client Secret Value
)
compute_client = ComputeManagementClient(
credential=credential,
subscription_id=<subscriptionID> #Your SubscriptionID
)
network_client = NetworkManagementClient(
credential=credential,
subscription_id=<subscriptionID> #Your SubscriptionID
)

rg = 'sri' #Resource group name
publicip = 'xxxxxxxxx' #Subnet name
result_get = network_client.public_ip_addresses.get(
rg, publicip
)
print(result_get.ip_address)

回应:

enter image description here

您可以尝试在您的环境中使用相同的代码来获取虚拟机的公共(public) IP

在运行代码之前,请确保安装所需的模块并将所需的角色分配给服务主体。

关于python - 用于检查 VM 是否具有公共(public) IP 的 Azure Python API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74311879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com