我想用python SDK控制Azure中的虚拟机。是否有任何API可以根据虚拟机的名称获取虚拟机的IP地址(内部或外部)?是否有任何可以获取Azure虚拟机IP地址(内部或外部)的Python API
2
A
回答
5
基于我的理解,我认为你想使用Azure SDK for Python公开一个Azure虚拟机的私人IP地址。
要获取这些IP地址(内部&外部),请参阅下面的代码。
from azure.mgmt.network import NetworkManagementClient, NetworkManagementClientConfiguration
subscription_id = '33333333-3333-3333-3333-333333333333'
credentials = ...
network_client = NetworkManagementClient(
NetworkManagementClientConfiguration(
credentials,
subscription_id
)
)
GROUP_NAME = 'XXX'
VM_NAME = 'xxx'
PUBLIC_IP_NAME = VM_NAME
public_ip_address = network_client.public_ip_addresses.get(GROUP_NAME, PUBLIC_IP_NAME)
print(public_ip_address.ip_address)
print(public_ip_address.ip_configuration.private_ip_address)
作为参考,您可以参考下面的文件来了解上述代码的细节。
- Resource Management Authentication使用Python作为变量
credentials
。 - Create the management client变量为
network_client
。 - 有关
azure.mgmt.network
包装的更多详细信息,请参阅http://azure-sdk-for-python.readthedocs.io/en/latest/ref/azure.mgmt.network.html。
+2
非常复杂(谢谢微软)获取IP地址的方式,但工作和保存我的一天。 小校正,目前network_client是这样创建的: network_client = NetworkManagementClient( 凭证, subscription_id ) – alexvicegrab
0
对于没有将公共IP分配给虚拟机的人,有一种方法可以在不创建公共IP的情况下获取私有IP。
from azure.mgmt.network import NetworkManagementClient, NetworkManagementClientConfiguration
subscription_id = ''
credentials = UserPassCredentials(
'[email protected]',
'password',
)
network_client = NetworkManagementClient(
credentials,
subscription_id
)
private_ip = network_client.network_interfaces.get(GROUP_NAME, NETWORK_INTERFACE_NAME).ip_configurations[0].private_ip_address
这个工程,并在Azure-sdk-for-python版本2.0.0rc6上测试。
相关问题
- 1. 获取虚拟机的IP地址
- 2. 获取KVM Guest虚拟机IP地址
- 3. 在azure ARM模板中获取虚拟机的IP地址
- 4. 使用Python获取计算机的外部IP地址
- 5. REST URI以获取天蓝色虚拟机的IP地址
- 6. 内部IP地址和外部IP地址之间的区别
- 7. 获取主机的所有外部IP地址
- 8. Azure虚拟机位置是否有任何管理API?
- 9. 在Java中获取'外部'IP地址
- 10. 获取外部IP地址10
- 11. 我可以更改Azure Fabric群集的外部IP地址吗?
- 12. 是否可以引用EC2内部的EC2弹性IP地址?
- 13. 获取我的机器C#的虚拟机安装IP地址
- 14. 创建虚拟机部署Azure REST API
- 15. 从虚拟机外部访问Azure虚拟机端口
- 16. 将Azure虚拟网络中的浮动IP地址暴露给外部世界
- 17. 欺骗IP地址没有任何外部模块通过Python
- 18. Azure虚拟机部署
- 19. 是否有任何API来获取iPhone的内部数据?
- 20. 如何在创建虚拟机之前获取Azure SDK Python的公共地址
- 21. 如何获取运行在超级虚拟机上的所有虚拟机的IP地址V
- 22. 如何获取除已知IP地址的最后一部分以外的所有IP地址
- 23. 从部署的应用程序获取Azure公共IP地址
- 24. 使WCF应用程序在Azure虚拟机外部可见
- 25. 如何在C++中获取外部IP地址?
- 26. 如何获取C#中的外部IP的mac地址?
- 27. 多个公有IP到Azure虚拟机
- 28. 如何获取我的电脑外部IP地址?
- 29. Windows Azure - 内部IP地址的用途是什么?
- 30. Azure虚拟机:添加一个保留的IP地址到现有的虚拟机
我相信这个问题可能会在[此堆栈溢出问题]回答(http://stackoverflow.com/questions/166506/finding-local-ip-addresses-using-pythons-stdlib) –
我的意思是获取IP地址具有Azure Python SDK的虚拟机。这是因为我想用它的SDK远程控制Azure中的虚拟机。这是一个不同的问题。 –
你可能需要澄清一下这个问题。这是来自虚拟机内部,还是来自某处的控制机器? – Shayne