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

Boto3를 사용하여 AWS Glue 데이터 카탈로그에 북마크된 작업의 세부 정보를 가져오는 방법은 무엇입니까?

<시간/>

− AWS Glue Data Catalog에서 북마크된 작업 'book-job'의 세부 정보를 검색합니다.

문제 설명 − Python의 boto3 라이브러리를 사용하여 AWS Glue 데이터 카탈로그에서 북마크된 작업의 세부 정보를 검색합니다.

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

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

2단계 - bookmarked_job_name 필수 매개변수입니다. job_name이 있어야 합니다. 이미 북마크되어 있습니다. 그렇지 않으면 EntityNotFoundException이 발생합니다.

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

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

5단계 − 이제 get_job_bookmark를 사용하세요. 함수 및 전달 bookmarked_job_name JobName 매개변수로.

6단계 − 북마크 입력과 관련된 내용을 반환합니다. job_name인 경우 북마크되지 않은 경우 EntityNotFound로 예외가 발생합니다. .

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

예시

다음 코드를 사용하여 AWS Glue Data Catalog에서 북마크된 작업의 세부 정보를 검색하십시오 -

botocore.exceptions에서 boto3 가져오기 가져오기 ClientErrordef retrieves_details_of_bookmarked_job(bookmarked_job_name) session =boto3.session.Session() glue_client =session.client('glue') 시도:응답 =glue_client.get_job_bookmark(JobName as) as) 응답을 반환한_bookmarked_job_name e:raise Exception("retrieves_details_of_bookmarked_job의 boto3 클라이언트 오류:" + e.__str__()) 예외 as e:raise Exception("retrieves_details_of_bookmarked_job의 예기치 않은 오류:" + e.__str__())print(retrieves_details_of_bookmarked_job "))

출력

{'JobBookmarkEntry':{'JobName':'book-job', 'Version':8, 'Run':2,'Attempt':2, 'PreviousRunId':'jr_dee547c2f78422e34136aa12c85dee7' JR_A035FE15DAA31E9A751F02876C26E5D11A9E9643BD61F70273E4 ','JOBBookmark ':'{ "GDF":{ "JSONCLASS":"HADOPDATASOURCEJOBBookMarkState", "Timestamps":{ "Run":"1", "high_band":"900000", cur_latest_partition ":"0 " ,"CURR_LATEST_PARTITIONS":"","CURR_RUN_START_TIME":"2020-10-30T13:03:43.730Z","INCLUDE_LIST":""}}}'}, 'ResponseMetadata':{'RequestId':'bacf1497 **************996f05b3c1', 'HTTPStatusCode':200, 'HTTPHeaders':{'date':'Sun, 28 Feb 2021 13:00:19 GMT', 'contenttype':'응용 프로그램/x-amz-json-1.1', '콘텐츠 길이':'535', '연결':'연결 유지', 'x-amzn-requestid':'bacf1497-******** ***********996f05b3c1'}, '재시도 횟수':0}}