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

จะใช้ไลบรารี Boto3 ใน Python เพื่อรับรายละเอียดของโปรแกรมรวบรวมข้อมูลได้อย่างไร


ตัวอย่าง:รับรายละเอียดของโปรแกรมรวบรวมข้อมูล crawler_for_s3_file_ งาน

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

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

ขั้นตอนที่ 2 − crawler_name เป็นพารามิเตอร์บังคับ เป็นรายการเพื่อให้ผู้ใช้สามารถส่งชื่อโปรแกรมรวบรวมข้อมูลหลายรายการพร้อมกันเพื่อดึงรายละเอียด

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

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

ขั้นตอนที่ 5 − ตอนนี้ใช้ batch_get_crawlers และส่งผ่าน crawler_names .

ขั้นตอนที่ 6 − ส่งคืนข้อมูลเมตาของโปรแกรมรวบรวมข้อมูล

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

ตัวอย่าง

ใช้รหัสต่อไปนี้เพื่อดึงรายละเอียดของโปรแกรมรวบรวมข้อมูล -

import boto3
from botocore.exceptions import ClientError

def get_crawler_details(crawler_names:list)
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      crawler_details = glue_client.batch_get_crawlers(CrawlerNames= crawler_names)
      return crawler_details
   except ClientError as e:
      raise Exception( "boto3 client error in get_crawler_details: " + e.__str__())
   except Exception as e:
      raise Exception( "Unexpected error in get_crawler_details: " + e.__str__())

print(get_crawler_details("[crawler_for_s3_file_job]"))