Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Boto3를 사용하여 AWS Glue 데이터 카탈로그에서 연결 세부 정보를 가져오는 방법은 무엇입니까?

<시간/>

문제 설명 − Python에서 boto3 라이브러리를 사용하여 AWS Glue 데이터 카탈로그에 있는 연결 세부 정보를 얻습니다.

− 연결 정의 'aurora-test'의 세부 정보를 가져옵니다.

이 문제를 해결하기 위한 접근 방식/알고리즘

1단계 − boto3 및 botocore 예외를 가져와 예외를 처리합니다.

2단계 − 정의를 확인해야 하는 매개변수 connection_name을 전달합니다.

3단계 − boto3 라이브러리를 사용하여 AWS 세션을 생성합니다. region_name이 기본 프로필에 언급되어 있는지 확인하십시오. 언급되지 않은 경우 세션을 생성하는 동안 region_name을 명시적으로 전달하십시오.

4단계 − 글루용 AWS 클라이언트를 생성합니다.

5단계get_connection 호출 함수를 만들고 이름으로 connection_name을 전달합니다. 매개변수.

6단계 − AWS Glue 데이터 카탈로그에서 연결 정의의 세부 정보를 가져옵니다.

7단계 − 작업을 확인하는 동안 문제가 발생한 경우 일반 예외를 처리합니다.

다음 코드를 사용하여 AWS Glue 데이터 카탈로그에서 연결 정의를 가져옵니다. −

botocore.exceptions에서 boto3 가져오기 import ClientErrordef get_details_of_a_connection(connection_name):session =boto3.session.Session() glue_client =session.client('glue') 시도:응답 =glue_client.get_connection(이름=connection_name) 반환 응답 ClientError 제외 as e:raise Exception("boto3 client error in get_details_of_a_connection:" + e.__str__()) 예외 as e:raise Exception("get_details_of_a_connection에서 예기치 않은 오류:" + e.__str__())print(get_details_of_a_connection("aurora- poc"))

출력

{'연결':{'이름':'aurora-poc', '연결 유형':'JDBC','ConnectionProperties':{'JDBC_CONNECTION_URL':'jdbc:postgresql://abcpostgresql-cluster.cluster-abc .us-east-1.rds.amazonaws.com:0132/abc,'JDBC_ENFORCE_SSL':'거짓', '비밀번호':'********', 'USERNAME':'abc***'}, 'PhysicalConnectionRequirements':{'SubnetId':'subnet351*****', 'SecurityGroupIdList':['sg-caa********', 'sg-************ *'],'AvailabilityZone':'us-east-1c'}, 'CreationTime':datetime.datetime(2020, 11, 18, 12, 38, 29, 625000, tzinfo=tzlocal()),'LastUpdatedTime':datetime.datetime(2020, 11, 18, 12, 51, 16, 59000,tzinfo=tzlocal())}, 'ResponseMetadata':{'RequestId':'6f13524b-4175-454b-bc60-c'0988967 :200, 'HTTPHeaders':{'date':'Sun, 28 Feb 2021 11:19:18 GMT', 'content-type':'application/x-amzjson-1.1', 'content-length':'523 ', '연결':'연결 유지', 'x-amznrequestid':'6f13524b-********************7098'}, 'RetryAttempts':0}}