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

Boto3를 사용하여 주어진 Glue Job의 모든 실행 상태를 확인하는 방법은 무엇입니까?

<시간/>

문제 설명 − Python에서 boto3 라이브러리를 사용하여 주어진 작업의 모든 실행 상태를 확인합니다.

− 'run_s3_file_job'이라는 이름의 글루 작업의 모든 실행 상태를 가져옵니다.

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

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

2단계 - 직업_이름 필수 매개변수입니다. 이 함수는 주어진 job_name의 세부정보를 가져옵니다.

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

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

5단계 − 이제 get_job_runs를 사용하세요. 함수를 만들고 job_name을 전달합니다. JobName 매개변수로.

6단계 − 주어진 작업의 모든 과거 작업 실행에 대한 세부 정보를 가져옵니다.

7단계 − for 루프를 사용하여 특정 작업 실행에 대한 세부 정보를 하나씩 가져옵니다.

8단계 − 이제 작업의 특정 상태와 해당 작업 실행 ID를 가져옵니다. 작업이 완료되지 않은 경우 상태가 실행 중일 수 있고, 그렇지 않으면 SUCCEEDED/FAILED가 될 수 있습니다.

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

예시

다음 코드를 사용하여 주어진 작업의 모든 실행 상태를 확인하십시오 -

botocore.exceptions에서 boto3 가져오기 가져오기 ClientErrordef get_status_of_job_all_runs(job_name):session =boto3.session.Session() glue_client =session.client('glue') 시도:응답에 대한 응답 =glue_client.get_job_runs(JobName=job_name) ['JobRuns']:print("Job Run id is:"+res.get("Id")) print("status is:"+res.get("JobRunState")) 제외 ClientError as e:raise Exception( "get_status_of_job_all_runs의 boto3 클라이언트 오류:" + e.__str__()) 예외 e:raise Exception("get_status_of_job_all_runs의 예기치 않은 오류:" + e.__str__())get_status_of_job_all_runs("run_s3_file_job")

출력

<프리가> 작업 IDIS :jr_6ef92e90ad66b1a6c7abb1c2659d114a34962b8c6ae4bf9b328ac90b99a33b7dstatus은 다음과 같습니다 FAILEDjob IDIS :jr_9fef13265036406e03e7cae79257305353203ab20b5f400e0c429e10a4999dbastatus입니다 :FAILEDjob IDIS :jr_f9d715a33e83460fc2ef6dee0840a98ef52c06c2ff569627633c4505fda7d835status입니다 :FAILEDjob IDIS :jr_71b57633ac4d8c24f904f0ae01f613f6d54baee440d0ede23f6030cffb0bf4d7status입니다 :FAILEDjob IDIS :jr_b7ead6b6ae43da2580888c73d6896c177510df73bd77c843d3e77b4dc5f22e2fstatus입니다 :FAILEDjob IDIS :jr_6e757509d51066648d49c22a47c26e728d6f842a1c5d2fd4f41941ca868460e6status입니다 :FAILEDjob IDIS :jr_89c1a7b8ea045fac36d25733d7fc657d3560eb159e7e122a8960981dd225a9d0status입니다 :FAILEDjob IDIS :jr_87522bcb924e41a6cf0294185b0a09e46a4ff4c67db5007ff7c10f959836a44bstatus입니다 :FAILEDjob IDIS :jr_08bb54854c8e5c60e96a3e2bade1184963973c1ea7a1e760029e740d4c4c5d7dstatus입니다 :FAILEDjob IDIS :jr_540a90407bb7fbde72b3e1d6cbc98c3b246c21c87d836ff389491bf95520bb41status입니다 :FAILEDjob IDIS :jr_f27227cb16ec9d3df665d8753b09c2e2d24d5b5e5263f3d3f17a9bd4669bee6 7상태:FAILED작업 ID:jr_a1ae4ad2edcbdac5c948b8be92a79a37c27517113364ddc88c8a93bc712fe6c1상태:성공