boto3를 사용하여 공개 IP를 얻는 방법

니 샨트 싱

AWS에서 RUNNING PUBLIC Ip를 모두 추출해야하며 다음 코드를 사용하고 있습니다.

def gather_public_ip():
    regions = ['us-west-2', 'eu-central-1', 'ap-southeast-1']
    combined_list = []   ##This needs to be returned
    for region in regions:
        instance_information = [] # I assume this is a list, not dict
        ip_dict = {}
        client = boto3.client('ec2', aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY,
                              region_name=region, )
        instance_dict = client.describe_instances().get('Reservations')
        for reservation in instance_dict:
            for instance in reservation['Instances']: # This is rather not obvious
               if instance[unicode('State')][unicode('Name')] == 'running' and instance[unicode('PublicIpAddress')] != None:
                    ipaddress = instance[unicode('PublicIpAddress')]
                    tagValue = instance[unicode('Tags')][0][unicode('Value')] # 'Tags' is a list, took the first element, you might wanna switch this
                    zone = instance[unicode('Placement')][unicode('AvailabilityZone')]
                    info = ipaddress, tagValue, zone
                    instance_information.append(info)
        combined_list.append(instance_information)
    return combined_list

이것은 나를 위해 작동하지 않으며 오류를 제공합니다.

    ipaddress = instance[unicode('PublicIpAddress')]
KeyError: u'PublicIpAddress'

그 이유는 PublicIpAddress이 사전에 존재하지 않습니다 .. 누군가 나를 도와 줄 수 있습니까?

압둘 파티 르 |

사용 get()대신에 dict[key]. get()를 제기하지 않을 것이다 KeyError. 다음은 설명 할 몇 가지 예입니다.

>>> test = {'xxx':123}
>>> test['xxx']
123
>>> test['yyy']
KeyError: 'yyy'
>>> test.get('yyy')
>>> test.get('yyy') is None
True

'PublicIpAddress'다음과 같이 결석 여부를 확인할 수 있습니다 .

ipaddress = instance.get(u'PublicIpAddress')
if ipaddress is None:
   # Do Something

편집하다

if instance[u'State'][u'Name'] == 'running' and instance.get(u'PublicIpAddress') is not None:
    print instance.get(u'PublicIpAddress')

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

aiohttp를 사용하여 클라이언트의 IP 주소를 얻는 방법

분류에서Dev

boto3를 사용하여 Amazon Glacier Deep Archive에 파일을 업로드하는 방법

분류에서Dev

Python에서 boto3를 사용하여 Cloudwatch 로그를 쿼리하는 방법

분류에서Dev

boto3를 사용하는 IAM 사용자에게 S3 버킷에 대한 전체 권한을 부여하는 방법은 무엇입니까?

분류에서Dev

boto3를 사용하여 이름으로 상태 RDS 인스턴스를 얻는 방법

분류에서Dev

boto3 역할 가정 문제를 해결하는 방법

분류에서Dev

AWS CLI를 사용하여 S3 객체의 위치 (공개 URL)를 얻는 방법이 있습니까?

분류에서Dev

scanf를 사용하여 공백으로 구분 된 문자를 얻는 방법

분류에서Dev

Boto3를 사용하여 특정 태그가없는 스냅 샷을 나열하는 방법

분류에서Dev

Python에서 boto3를 사용하여 Cloudwatch 로그를 필터링하는 방법

분류에서Dev

Elixir / Nerves를 사용하여 현재 장치 IP를 얻는 방법

분류에서Dev

AWS Fargate-Python boto3를 사용하여 작업의 퍼블릭 IP 주소를 가져 오는 방법

분류에서Dev

boto3를 사용하여 DynamoDB에서 모든 항목을 검색하는 방법은 무엇입니까?

분류에서Dev

IPFS-JS로 공용 IP 주소를 얻는 방법

분류에서Dev

일시 중지를 위해 boto3에서 AWS Polly를 사용하는 방법

분류에서Dev

boto3를 사용하여 해당 폴더의 모든 것을 다운로드하는 방법

분류에서Dev

PHP를 사용하여 클라이언트 공용 IP 주소를 얻는 방법은 무엇입니까?

분류에서Dev

공개 키를 얻는 방법?

분류에서Dev

원격 시스템의 공용 IP 주소를 얻는 방법

분류에서Dev

https 웹 사이트 인증서 공개 키를 얻는 방법

분류에서Dev

https 웹 사이트 인증서 공개 키를 얻는 방법

분류에서Dev

PHP를 사용하여 쿠폰 코드를 공개하는 방법

분류에서Dev

boto3에서 http 메소드를 변경하는 방법

분류에서Dev

Pandas를 사용하여 열에서 특정 값의 개수를 얻는 방법

분류에서Dev

Java 클라이언트를 사용하여 Softlayer에서 공개 이미지를 얻는 방법

분류에서Dev

랙 및 지오 코더를 사용하여 IP 주소를 얻는 방법

분류에서Dev

boto3를 사용하여 S3에서 항목에 액세스하고 해당 내용을 읽는 방법 ()

분류에서Dev

boto3를 사용하여 mturk에서 HIT를 확장 할 때 datetime 오류를 수정하는 방법

분류에서Dev

cloudsearch boto3에서 filterQuery 및 queryOptions를 사용하는 방법

Related 관련 기사

  1. 1

    aiohttp를 사용하여 클라이언트의 IP 주소를 얻는 방법

  2. 2

    boto3를 사용하여 Amazon Glacier Deep Archive에 파일을 업로드하는 방법

  3. 3

    Python에서 boto3를 사용하여 Cloudwatch 로그를 쿼리하는 방법

  4. 4

    boto3를 사용하는 IAM 사용자에게 S3 버킷에 대한 전체 권한을 부여하는 방법은 무엇입니까?

  5. 5

    boto3를 사용하여 이름으로 상태 RDS 인스턴스를 얻는 방법

  6. 6

    boto3 역할 가정 문제를 해결하는 방법

  7. 7

    AWS CLI를 사용하여 S3 객체의 위치 (공개 URL)를 얻는 방법이 있습니까?

  8. 8

    scanf를 사용하여 공백으로 구분 된 문자를 얻는 방법

  9. 9

    Boto3를 사용하여 특정 태그가없는 스냅 샷을 나열하는 방법

  10. 10

    Python에서 boto3를 사용하여 Cloudwatch 로그를 필터링하는 방법

  11. 11

    Elixir / Nerves를 사용하여 현재 장치 IP를 얻는 방법

  12. 12

    AWS Fargate-Python boto3를 사용하여 작업의 퍼블릭 IP 주소를 가져 오는 방법

  13. 13

    boto3를 사용하여 DynamoDB에서 모든 항목을 검색하는 방법은 무엇입니까?

  14. 14

    IPFS-JS로 공용 IP 주소를 얻는 방법

  15. 15

    일시 중지를 위해 boto3에서 AWS Polly를 사용하는 방법

  16. 16

    boto3를 사용하여 해당 폴더의 모든 것을 다운로드하는 방법

  17. 17

    PHP를 사용하여 클라이언트 공용 IP 주소를 얻는 방법은 무엇입니까?

  18. 18

    공개 키를 얻는 방법?

  19. 19

    원격 시스템의 공용 IP 주소를 얻는 방법

  20. 20

    https 웹 사이트 인증서 공개 키를 얻는 방법

  21. 21

    https 웹 사이트 인증서 공개 키를 얻는 방법

  22. 22

    PHP를 사용하여 쿠폰 코드를 공개하는 방법

  23. 23

    boto3에서 http 메소드를 변경하는 방법

  24. 24

    Pandas를 사용하여 열에서 특정 값의 개수를 얻는 방법

  25. 25

    Java 클라이언트를 사용하여 Softlayer에서 공개 이미지를 얻는 방법

  26. 26

    랙 및 지오 코더를 사용하여 IP 주소를 얻는 방법

  27. 27

    boto3를 사용하여 S3에서 항목에 액세스하고 해당 내용을 읽는 방법 ()

  28. 28

    boto3를 사용하여 mturk에서 HIT를 확장 할 때 datetime 오류를 수정하는 방법

  29. 29

    cloudsearch boto3에서 filterQuery 및 queryOptions를 사용하는 방법

뜨겁다태그

보관