如何使用 python SDK 创建 Azure 应用程序网关
How to create Azure Application gateway using python SDK
我开始觉得有点傻了。有人能够使用 Python SDK for Azure 成功创建应用程序网关吗?
文档看起来不错,但我正在努力寻找正确的参数来传递 'parameters'
azure.mgmt.network.operations.ApplicationGatewaysOperations application_gateways.create_or_update()。我找到了 load_balancer 的完整工作示例,但找不到应用程序网关的任何内容。获取 'string indices must be integers, not str' 根本没有帮助。任何帮助将不胜感激,谢谢!
更新:已解决。给每个这样做的人的建议,仔细查看应用程序网关参数所需的数据类型
我知道目前没有 Python 应用程序网关示例,对此深表歉意...
现在我建议你:
- 使用 this tutorial or this one
创建网络客户端
- 也看看这个ARM template for Application Gateway. Python parameters will be very close from this JSON. At worst, you can deploy an ARM template using the Python SDK。
- 看一下
create
操作的 ReadTheDocs page,会让您了解预期的参数。
在 Github tracker 上打开一个问题,这样当我做一个示例(或者至少是一个你可以模仿的单元测试)时你可以跟随。
在评论中提问后编辑:
拥有 VM 对象后获取 VM 的 IP:
# Gives you the ID if this NIC
nic_id = vm.network_profile.network_interfaces[0].id
# Parse this ID to get the nic name
nic_name = nic_id.split('/')[-1]
# Get the NIC instance
nic = network_client.network_interfaces.get('RG', nic_name)
# Get the actual IP
nic.ip_configurations[0].private_ip_address
编辑:
我终于写出了示例:
https://github.com/Azure-Samples/network-python-manage-application-gateway
(我在 MS 工作,负责 Python 的 Azure SDK)
我开始觉得有点傻了。有人能够使用 Python SDK for Azure 成功创建应用程序网关吗?
文档看起来不错,但我正在努力寻找正确的参数来传递 'parameters'
azure.mgmt.network.operations.ApplicationGatewaysOperations application_gateways.create_or_update()。我找到了 load_balancer 的完整工作示例,但找不到应用程序网关的任何内容。获取 'string indices must be integers, not str' 根本没有帮助。任何帮助将不胜感激,谢谢!
更新:已解决。给每个这样做的人的建议,仔细查看应用程序网关参数所需的数据类型
我知道目前没有 Python 应用程序网关示例,对此深表歉意... 现在我建议你:
- 使用 this tutorial or this one 创建网络客户端
- 也看看这个ARM template for Application Gateway. Python parameters will be very close from this JSON. At worst, you can deploy an ARM template using the Python SDK。
- 看一下
create
操作的 ReadTheDocs page,会让您了解预期的参数。
在 Github tracker 上打开一个问题,这样当我做一个示例(或者至少是一个你可以模仿的单元测试)时你可以跟随。
在评论中提问后编辑:
拥有 VM 对象后获取 VM 的 IP:
# Gives you the ID if this NIC
nic_id = vm.network_profile.network_interfaces[0].id
# Parse this ID to get the nic name
nic_name = nic_id.split('/')[-1]
# Get the NIC instance
nic = network_client.network_interfaces.get('RG', nic_name)
# Get the actual IP
nic.ip_configurations[0].private_ip_address
编辑:
我终于写出了示例:
https://github.com/Azure-Samples/network-python-manage-application-gateway
(我在 MS 工作,负责 Python 的 Azure SDK)