반응형
Python의 boto 라이브러리를 사용하여 AWS 계정의 인스턴스에서 태그를 가져 오려고합니다.
이 스 니펫은 올바르게 작동하지만 모든 태그를 가져옵니다.
tags = e.get_all_tags()
for tag in tags:
print tag.name, tag.value
(e는 EC2 연결입니다)
개별 인스턴스에서 태그를 요청하면
print vm.__dict__['tags']
또는
print vm.tags
빈 목록이 표시됩니다 (vm은 실제로 인스턴스 클래스 임).
다음 코드 :
vm.__dict__['tags']['Name']
물론 결과 :
KeyError: 'Name'
내 코드는 어제까지 작동했고 갑자기 인스턴스에서 태그를 가져올 수 없습니다.
AWS API에 문제가 있는지 아는 사람이 있습니까?
해결 방법
액세스하기 전에 '이름'태그가 있는지 확인해야합니다. 이 시도:
import boto.ec2
conn=boto.ec2.connect_to_region("eu-west-1")
reservations = conn.get_all_instances()
for res in reservations:
for inst in res.instances:
if 'Name' in inst.tags:
print "%s (%s) [%s]" % (inst.tags['Name'], inst.id, inst.state)
else:
print "%s [%s]" % (inst.id, inst.state)
인쇄됩니다 :
i-4e444444 [stopped]
Amazon Linux (i-4e333333) [running]
참조 페이지 https://stackoverflow.com/questions/19516678
반응형
'파이썬' 카테고리의 다른 글
파이썬 pyyaml : 태그없이 덤핑 (0) | 2021.01.04 |
---|---|
파이썬 이 코드에서 classmethod는 무엇을합니까? (0) | 2021.01.03 |
파이썬 SMTP를 사용하여 첨부 파일을 보내려면 어떻게합니까? (0) | 2021.01.03 |
파이썬 Converting NumPy array into Python List structure? (0) | 2021.01.03 |
파이썬의 열거 형 (0) | 2021.01.03 |
댓글