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

วิธีใช้ Boto3 เพื่อหยุดเวิร์กโฟลว์ใน AWS Glue Data Catalog


ในบทความนี้ เราจะมาดูกันว่าผู้ใช้สามารถหยุดเวิร์กโฟลว์ที่มีอยู่ในบัญชี AWS ได้อย่างไร

ตัวอย่าง

คำชี้แจงปัญหา: ใช้ boto3 ไลบรารีใน Python เพื่อหยุดเวิร์กโฟลว์

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

  • ขั้นตอนที่ 1: นำเข้า boto3 และ botcore ข้อยกเว้นในการจัดการข้อยกเว้น

  • ขั้นตอนที่ 2: ชื่อเวิร์กโฟลว์ และ run_id เป็นพารามิเตอร์ที่จำเป็นในฟังก์ชันนี้

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

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

  • ขั้นตอนที่ 5: ตอนนี้ใช้ stop_workflow_run และส่งผ่านพารามิเตอร์ workflow_name เป็นชื่อและ run_id เป็น RunId

  • ขั้นตอนที่ 6: ส่งคืนข้อมูลเมตาการตอบกลับและหยุดเวิร์กโฟลว์

  • ขั้นตอนที่ 7: จัดการกับข้อยกเว้นทั่วไปหากมีข้อผิดพลาดขณะหยุดเวิร์กโฟลว์

โค้ดตัวอย่าง

รหัสต่อไปนี้หยุดเวิร์กโฟลว์ที่ทำงานอยู่ -

นำเข้า boto3 จาก botocore.exceptions นำเข้า ClientErrordef stop_a_workflow(workflow_name, run_id) session =boto3.session.Session() glue_client =session.client('glue') ลอง:response =glue_client.stop_workflow_run(Name=workflow_name, RunId=run_id ) ส่งคืนการตอบสนองยกเว้น ClientError เป็น e:ยกข้อยกเว้น ("ข้อผิดพลาดของไคลเอ็นต์ boto3 ใน stop_a_workflow:" + e.__str__()) ยกเว้นข้อยกเว้นเป็น e:ยกข้อยกเว้น ("ข้อผิดพลาดที่ไม่คาดคิดใน stop_a_workflow:" + e.__str__()) พิมพ์ ( stop_a_workflow("ทดสอบทุกวัน"))

ผลลัพธ์

<ก่อนหน้า>{'RunId':'wr_64e880240692fddd5e1b19aed587f856bc20a96f54bc', 'ResponseMetadata':{'RequestId':'782e953b-8ee3-4876-9b2c-cd35e147b513', 'HTTP 200 สถานะ':รหัส , 28 มี.ค. 2021 08:11:02 GMT', 'content-type':'application/x-amz-json-1.1', 'content-length':'79', 'connection':'keep-alive', 'x-amzn-requestid':'782e953b-**********************************13'} 'ลองอีกครั้ง' :0}}