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

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


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

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

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

ขั้นตอนที่ 2 − ไม่จำเป็นต้องใช้พารามิเตอร์สำหรับฟังก์ชันนี้ จะดึงทริกเกอร์ที่ระบุไว้ทั้งหมดสำหรับบัญชีผู้ใช้แล้วแสดงข้อมูลเมตาของแต่ละทริกเกอร์

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

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

ขั้นตอนที่ 5 − ตอนนี้ใช้ฟังก์ชัน list_triggers เพื่อรับงานทั้งหมดที่อยู่ในบัญชีผู้ใช้

ขั้นตอนที่ 6 − โทร batch_get_triggers และส่งชื่องานที่ดึงมาในฟังก์ชันก่อนหน้า

ขั้นตอนที่ 7 − ส่งกลับ list_of_triggers และข้อมูลเมตาของแต่ละทริกเกอร์

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

ตัวอย่าง

ใช้รหัสต่อไปนี้เพื่อดึงรายละเอียดของแต่ละทริกเกอร์ที่ระบุไว้ในบัญชีผู้ใช้ -

นำเข้า boto3from botocore.exceptions นำเข้า ClientErrordef get_resource_maetadata_of_triggers():session =boto3.session.Session() glue_client =session.client('glue') ลอง:list_of_triggers =glue_client.list_triggers() ตอบกลับ =glue_cliigger_triggersbatch_ list_of_triggers['TriggerNames']) ส่งคืน list_of_triggers การตอบสนองยกเว้น ClientError เป็น e:ยกข้อยกเว้น ( "ข้อผิดพลาดของไคลเอ็นต์ boto3 ใน get_resource_maetadata_of_triggers:" + e.__str__()) ยกเว้นข้อยกเว้นเป็น e:ยกข้อยกเว้น ( "ข้อผิดพลาดที่ไม่คาดคิดใน get_resource_resource_maetr" e.__str__())a, b =get_resource_metadat_of_triggers()#List of Triggersprint(a)#Resource metadata ของแต่ละ Triggersprint(b)

ผลลัพธ์

 #list ของทริกเกอร์ { 'TriggersNames':[ '01_PythonShellTest1'] 'NextToken':'eyJleHBpcmF0aW9uIjp7InNlY29uZHMiOjE2MTQxNzE2OTksIm5hbm9zIjo1MTYwMDAwMDB9LCJsYXN0RXZhbHVzFiMzAzNzAxMzRmNDk3NWM3M2MyMjhjYTk5MDgzZTA3YjQ0ZWEyOTZlIn19fQ ==', 'ResponseMetadata:{ 'requestID':'5d3eb19a-41f5-b24e-2d59ed9664b5', 'HttpStatusCode' :200, 'HTTPHeaders':{'date':'Tue, 23 Feb 202113:01:39 GMT', 'content-type':'application/x-amz-json-1.1', 'contentlength':'1134' 'การเชื่อมต่อ':'รักษาชีวิต', 'x-amzn-requestid':'5d3eb19a-41f5-b24e-2d59ed9664b5'} 'ลองใหม่อีกครั้ง':0}}# ข้อมูลเมตาของทรัพยากรของทริกเกอร์แต่ละตัว{'ทริกเกอร์':[{ 'ชื่อ':'01_PythonShellTest1', 'WorkflowName':'arn:aws:iam::1234:role/dev-edl, 'Id':'string', 'Type':'string','State':'CREATING '|'CREATED'|'ACTIVATED'|'ACTIVATED'|'DEACTIVATED'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description':'string', 'Schedule':'string'}]}