我想用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. Azure虛擬機IP地址
- 2. 獲取虛擬機的IP地址
- 3. 獲取KVM Guest虛擬機IP地址
- 4. 在azure ARM模板中獲取虛擬機的IP地址
- 5. 使用Python獲取計算機的外部IP地址
- 6. REST URI以獲取天藍色虛擬機的IP地址
- 7. 從虛擬機內部獲取Azure計算機實例名稱
- 8. 如何獲取內部IP地址?
- 9. 內部IP地址和外部IP地址之間的區別
- 10. 獲取主機的所有外部IP地址
- 11. Azure虛擬機位置是否有任何管理API?
- 12. 我可以更改Azure Fabric羣集的外部IP地址嗎?
- 13. 在Java中獲取'外部'IP地址
- 14. 獲取外部IP地址10
- 15. 是否可以引用EC2內部的EC2彈性IP地址?
- 16. 獲取我的機器C#的虛擬機安裝IP地址
- 17. 創建虛擬機部署Azure REST API
- 18. 從虛擬機外部訪問Azure虛擬機端口
- 19. 欺騙IP地址沒有任何外部模塊通過Python
- 20. 將Azure虛擬網絡中的浮動IP地址暴露給外部世界
- 21. 是否有可能從本地主機到外部地址
- 22. Azure虛擬機部署
- 23. 外部API的靜態IP地址
- 24. 虛擬IP地址
- 25. 如何使用本地主機或其他外部IP地址
- 26. 是否有任何API來獲取iPhone的內部數據?
- 27. 如何在創建虛擬機之前獲取Azure SDK Python的公共地址
- 28. Apache:限制訪問虛擬主機內部的特定源IP地址
- 29. 如何獲取運行在超級虛擬機上的所有虛擬機的IP地址V
- 30. 在Windows上獲取虛擬機IP地址
我相信這個問題可能會在[此堆棧溢出問題]回答(http://stackoverflow.com/questions/166506/finding-local-ip-addresses-using-pythons-stdlib) –
我的意思是獲取IP地址具有Azure Python SDK的虛擬機。這是因爲我想用它的SDK遠程控制Azure中的虛擬機。這是一個不同的問題。 –
你可能需要澄清一下這個問題。這是來自虛擬機內部,還是來自某處的控制機器? – Shayne