2012-09-25 2 views
3

여러분, 저는 실행중인 컴퓨터의 인스턴스 ID뿐만 아니라 aws 콘솔에서 추가 한 별칭 이름도 검색하려고합니다.인스턴스 목록 풀다운

이렇게하는 것이 적절한 방법입니까? , 태그를 ec2tag : [태그 : 나는 흥미로운 아무것도 ....

import boto 
botoEC2 = boto.connect_ec2('asdf','asdfasdfasdfasdf') 
rsv = botoEC2.get_all_instances() 
tags = botoEC2.get_all_tags() 
print tags 
dir (tags) 
print tags 
print tags.status 
print tags.pop 
print tags.count 
print tags.tagSet 
print tags.requestId 
print tags.index 
print tags. 
print tags.requestId 
print tags.index 
print tags.key_marker 

print tags 

출력을 다시 받고 있지 않다 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름, 태그 : 이름]

감사!

+1

api를 알아 내려고 시도한 적이 있다면, IPython을 사용해보십시오. 객체의 메소드와 속성에 대한 탭을 완성 할 수 있습니다. 이런 종류의 발견은 간단합니다. – aychedee

+0

위의 내용은 ipython copy/pastees ....입니다. 그래서 나는 tags.tab를 잘못 인쇄하고 있습니다. – Cmag

+0

글쎄, get_all_tags는 태그 객체의리스트를 반환하기 때문에 정상적인리스트 메소드 만 볼 수 있습니다. 'tag = tags [0]'목록에서 태그 객체를 꺼내고 그 태그 객체에 자동 완성을 시도해야합니다. – aychedee

답변

6

당신은 모든 태그

import boto 
conn = boto.connect_ec2('asdf','asdfasdfasdfasdf') 

tags = conn.get_all_tags() 
for tag in tags: 
    print tag.name, tag.value 

를 가져올 수 있습니다 또는 당신은 단지 인스턴스

reservation = conn.get_all_instances()[0] 
# Yeah I don't know why they have these stupid reservation objects either... 
instance = reservation.instances[0] 
print instance.tags 
# prints a dictionary of the tags {'Name': 'Given name'} 

UPDATE 2014년 4월와 관련된 태그를 얻을 수 있습니다 :Get all instances is going to change it's behaviour in the near future합니다. 재미있게도 EC2 인스턴스 목록을 반환하기 시작할 것입니다. 다음 주 버전 업데이트 중에 코드가 손상되지 않도록하려면 get_all_reservations을 사용해야합니다.

+0

[0]의 요점은 무엇입니까? 모든 인스턴스에 대해 하나의 예약 만 있습니까, 아니면 여러 개입니까? 비록 이것이 정확하게 묻는 지 확실하지 않지만 여전히 [0]이 설명하고 싶습니다. :) – BillR

+1

AWS API에 의문이 없습니다. 내가 아는 전부는'get_all_instances'가 1 예약 객체의 목록을 반환한다는 것입니다 ... – aychedee

+0

한 번에 둘 이상의 인스턴스를 요청할 경우이 작업은 실패합니다. 예를 들어 [conn.get_all_instances()] : res의 res.instances와 같은 것을 사용하고 루프를 반복합니다. – tedder42

관련 문제