Python查找值是否存在于boto.jsonresponse.Element班

2024-10-03 23:30:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Boto来获取一份常规53次健康检查的列表:

def list_hc():
    conn = boto.route53.connect_to_region('universal')
    listhc = conn.get_list_health_checks()
    return listhc

我得到的结果是boto.jsonresponse.Element看起来像这样:

^{pr2}$

我想能够检查一个IP是否已经作为IP地址的值存在,如果是的话,得到它的Id值。此列表可能有多个健康检查。在

目前我用这种难看的方法来检查IP是否存在:

if pubIp in str(listhc['ListHealthChecksResponse'].values()):

但我知道有一种方法可以像字典一样对它进行适当的迭代关键:价值观,但我找不到这样做的方法boto.jsonresponse.Element在

任何帮助都将不胜感激。在

谢谢。在


Tags: 方法hcip列表defelementconnjsonresponse
2条回答

我可能会这样做:

ips = [hc['HealthCheckConfig']['IPAddress'] for hc in listhc['ListHealthChecksResponse']['HealthChecks']]

变量ips应该包含一个IP地址列表。然后你可以:

^{pr2}$

还有其他的方法,但那是我的偏好。在

我发现在boto.jsonresponse.Element是最直接的。例如

conn.get_list_health_checks().ListHealthChecksResponse.HealthChecks.HealthCheckConfig

应该让你boto.jsonresponse.Element在

^{pr2}$

进入下表

[{u'IPAddress': u'1.1.1.1', 
  u'ResourcePath': u'/', 
  u'RequestInterval': u'30', 
  u'Type': u'HTTP', 
  u'Port': u'80', 
  u'FailureThreshold': u'3'}]

然后你就可以把.IPAddress的

我也做过类似的事情boto.jsonresponse.Elements来自IAM和EC2函数调用,但我还没有真正处理Route53。你可能无法通过。健康检查,因为那里已经有一个列表。。。在

相关问题 更多 >