ข้อกำหนดปัญหา
ใช้ไลบรารี Boto3 ใน Python เพื่อลบ Glue Job ที่สร้างในบัญชีของคุณ
ตัวอย่าง
ลบ Glue Job ชื่อ transfer_from_s3 ที่สร้างในบัญชีของคุณ
ขั้นตอนการแก้ปัญหา
- ขั้นตอนที่ 1 – นำเข้า
boto3และbotocore.exceptionsเพื่อจัดการข้อยกเว้น - ขั้นตอนที่ 2 – ส่งพารามิเตอร์
job_nameที่ต้องการลบจาก AWS Glue Catalog - ขั้นตอนที่ 3 – สร้าง AWS Session ด้วย Boto3 ตรวจสอบ
region_nameในโปรไฟล์เริ่มต้น หากไม่มี ให้ระบุโดยตรง - ขั้นตอนที่ 4 – สร้าง AWS Client สำหรับ Glue
- ขั้นตอนที่ 5 – ใช้ฟังก์ชัน delete_job ส่ง
job_nameเป็น JobName - ขั้นตอนที่ 6 – จะลบ Job และคืนค่า Response Metadata
- ขั้นตอนที่ 7 – จัดการข้อยกเว้นทั่วไปหากเกิดข้อผิดพลาด
หมายเหตุ – หลังจากดำเนินการเสร็จสิ้น จะลบ Job Definition ที่ระบุ หาก Job ไม่พบใน AWS Glue จะไม่มีข้อยกเว้น และ Output จะเหมือนกับการลบสำเร็จ
ตัวอย่างโค้ด
ใช้โค้ดต่อไปนี้เพื่อลบ Glue Job จาก AWS Glue:
import boto3
from botocore.exceptions import ClientError
def delete_a_glue_job(job_name):
session = boto3.session.Session()
glue_client = session.client('glue')
try:
response = glue_client.delete_job(JobName=job_name)
return response
except ClientError as e:
raise Exception("boto3 client error in delete_a_glue_job: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in delete_a_glue_job: " + e.__str__())
print(delete_a_glue_job("transfer_from_s3"))
ผลลัพธ์
{
'JobName': 'transfer_from_s3',
'ResponseMetadata': {
'RequestId': '126adb54-f0a0-4558-b345-d6a4e62674f3',
'HTTPStatusCode': 200,
'HTTPHeaders': {
'date': 'Sat, 27 Feb 2021 15:53:27 GMT',
'content-type': 'application/x-amz-json-1.1',
'content-length': '22',
'connection': 'keep-alive',
'x-amzn-requestid': '126adb54-...-d6a4e62674f3'
},
'RetryAttempts': 0
}
}