2017-03-09 56 views
0

我开始觉得有点愚蠢。是否有人能够使用Python SDK for Azure成功创建应用程序网关? 该文档似乎没问题,但我努力寻找合适的参数来传递参数 azure.mgmt.network.operations.ApplicationGatewaysOperations application_gateways.create_or_update()。我找到了一个load_balancer的完整工作示例,但找不到任何应用程序网关。获取'字符串索引必须是整数,而不是str'根本没有任何帮助。任何帮助将不胜感激,谢谢!

更新:已解决。对于每个人都这样做的建议,仔细查看应用程序网关参数所需的数据类型如何使用python SDK创建Azure应用程序网关

+0

https://github.com/Azure/azure-sdk-for-python/blob/master/azure-mgmt-network /azure/mgmt/network/operations/application_gateways_operations.py - code;模型需要做到这一点 - https://github.com/Azure/azure-sdk-for-python/blob/master/azure-mgmt-network/azure/mgmt/network/models/application_gateway.py。 ping我,如果你不能这样做 – 4c74356b41

+0

我已经发现这个,问题是它没有指定哪些参数是必需的。我遇到了实际的配置问题,我无法准确理解哪个参数,因为返回的错误是“TypeError:字符串索引必须是整数,而不是str”。我的代码中没有错误,可能会引发此错误。我假设它是由某种配置验证器返回的 –

回答

1

我知道目前没有针对应用程序网关的Python示例,我对此表示歉意...... 现在我建议您于:

Github tracker上打开一个问题,所以你可以按照我做样本(或至少一个单元测试,你可以模仿)。

要获取VM的IP,一旦你有一个VM对象:在评论的问题后

编辑

# 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工作,我负责在Azure SDK的Python的)

+0

我能够创建应用程序网关,probelm是对于backend_address_pools我必须对IP地址进行硬编码('backend_addresses':[{'ip_address':'10.0.2.7' )。有没有办法动态地设置这些地址。如何理解哪些私有IP地址将被分配给我创建的虚拟机,以便我可以将它们放入后端地址属性中? –

+0

我发现IP地址按顺序分配(从第4个地址开始),一种解决问题的方法是计算将创建并添加地址的虚拟机(2个vms =带有Ip最后符号4和5的后端池)是有更好的方法吗? –

+0

我编辑添加了如何从VM对象获取IP。希望这可以帮助。 –

相关问题