본문 바로가기
파이썬

파이썬 boto를 사용하여 AWS 인스턴스에서 태그 얻기

by º기록 2021. 1. 3.
반응형

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

 

 

반응형

댓글