Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะใช้ Boto3 เพื่อตรวจสอบสถานะของงานกาวที่กำหนดทั้งหมดได้อย่างไร


คำชี้แจงปัญหา − ใช้ไลบรารี boto3 ใน Python เพื่อตรวจสอบสถานะของงานทั้งหมดที่กำหนด

ตัวอย่าง − รับสถานะของงานกาวทั้งหมดที่มีชื่อว่า 'run_s3_file_job'

แนวทาง/อัลกอริทึมในการแก้ปัญหานี้

ขั้นตอนที่ 1 - นำเข้าข้อยกเว้น boto3 และ botocore เพื่อจัดการกับข้อยกเว้น

ขั้นตอนที่ 2ชื่องาน เป็นพารามิเตอร์บังคับ ฟังก์ชันจะดึงรายละเอียดของ job_name ที่กำหนด

ขั้นตอนที่ 3 − สร้างเซสชัน AWS โดยใช้ไลบรารี boto3 ตรวจสอบให้แน่ใจว่า region_name ถูกกล่าวถึงในโปรไฟล์เริ่มต้น หากไม่กล่าวถึง ให้ส่ง region_name . อย่างชัดแจ้ง ขณะสร้างเซสชัน

ขั้นตอนที่ 4 − สร้างไคลเอนต์ AWS สำหรับกาว

ขั้นตอนที่ 5 − ตอนนี้ใช้ get_job_runs และส่งผ่าน job_name เป็นพารามิเตอร์ JobName

ขั้นตอนที่ 6 − มันดึงรายละเอียดของงานที่ผ่านมาทั้งหมดของงานที่กำหนด

ขั้นตอนที่ 7 − ใช้สำหรับวนซ้ำเพื่อรับรายละเอียดของงานเฉพาะที่รันทีละงาน

ขั้นตอนที่ 8 − ตอนนี้ รับสถานะเฉพาะของงานและรหัสการเรียกใช้งานที่เกี่ยวข้อง สถานะสามารถเรียกใช้ได้หากงานไม่เสร็จสมบูรณ์ มิฉะนั้น SUCCEEDED/FAILED

ขั้นตอนที่ 9 − จัดการข้อยกเว้นทั่วไปหากมีข้อผิดพลาดขณะตรวจสอบงาน

ตัวอย่าง

ใช้รหัสต่อไปนี้เพื่อตรวจสอบสถานะของงานที่กำหนดทั้งหมด -

นำเข้า boto3 จาก botocore.exceptions นำเข้า ClientErrordef get_status_of_job_all_runs(job_name):session =boto3.session.Session() glue_client =session.client('glue') ลอง:response =glue_client.get_job_runs(JobName=job_name) เพื่อตอบกลับ ['JobRuns']:print("Job Run id is:"+res.get("Id")) print("status is:"+res.get("JobRunState")) ยกเว้น ClientError เป็น e:ยกข้อยกเว้น ( "ข้อผิดพลาดของไคลเอ็นต์ boto3 ใน get_status_of_job_all_runs:" + e.__str__()) ยกเว้นข้อยกเว้นเป็น e:ยกข้อยกเว้น ("ข้อผิดพลาดที่ไม่คาดคิดใน get_status_of_job_all_runs:" + e.__str__())get_status_of_job_all_runs("run_s3_prefile> 

ผลลัพธ์

 งาน 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งาน idis:jr_a1ae4ad2edcbdac5c948b8be92a79a37c27517113364ddc88c8a93bc712fe6c1สถานะคือ:สำเร็จแล้ว