【发布时间】:2014-10-07 03:23:47
【问题描述】:
我在这个网站和谷歌上搜索过,但没有得到答案。
我有从 EC2 实例运行的代码,该实例使用 boto 创建和管理 EMR 集群。 我可以使用这个框架来获取flow_id(或cluster_id,不确定哪个是正确的名称),它以“j-”开头,并且有固定数量的字符来标识集群。
使用该框架,我可以建立一个 emr 或 ec2 连接,但对于我来说,我无法使用 boto 执行以下操作:
aws emr --list-clusters --cluster-id=j-ASDFGHJKL | json '["instances"].[0].["privateipaddress"]
**上面有点捏造,我不记得json格式以及json命令是什么或它想要什么args,但还是cli。
我已经 pprint.pprint()'ed 并使用 inspect.getmembers() 检查了连接,将 conn 获取到特定的 cluster_id,但是我还没有看到这个字段/var/attribute 有或没有方法调用。
我一直在亚马逊和博托上下,他们是如何做到的 here?
在
def test_list_instances(self): #line 317
...
self.assertEqual(response.instances[0].privateipaddress , '10.0.0.60')
...
附:我试过this,但python抱怨“instances”属性不可迭代,数组可访问(我忘记了“var [0]”命名),以及我尝试过的其他东西,包括检查。 顺便说一句,我可以从这里访问 publicDNSaddress 和许多其他东西,只是不能访问 privateIP...
如果我在某个地方搞砸了,请告诉我在哪里可以找到答案,我正在使用子进程进行丑陋的修复!
【问题讨论】:
标签: python amazon-web-services amazon-ec2 boto emr