Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách dùng Boto3 xóa Glue job từ AWS Glue

Đề bài − Sử dụng thư viện boto3 trong Python để xóa một glue job, được tạo trong tài khoản.

Ví dụ − Xóa glue job 'transfer_from_s3' được tạo trong tài khoản.

Cách tiếp cận/Thuật toán giải quyết

Bước 1 − Nhập boto3 và botocore exceptions để xử lý ngoại lệ.

Bước 2 − Truyền tham số job_name cần xóa từ AWS Glue Catalog.

Bước 3 − Tạo phiên AWS bằng boto3. Đảm bảo region_name trong profile mặc định. Nếu không, truyền rõ ràng region_name khi tạo phiên.

Bước 4 − Tạo client AWS cho glue.

Bước 5 − Sử dụng hàm delete_job và truyền job_name làm tham số JobName.

Bước 6 − Nó sẽ xóa job và trả về response metadata.

Bước 7 − Xử lý ngoại lệ chung nếu có lỗi xảy ra khi kiểm tra job.

Lưu ý − Sau khi hoàn thành thao tác này, nó xóa định nghĩa job được chỉ định. Nếu job không tìm thấy trong AWS Glue, nó không ném ngoại lệ và kết quả tương tự như khi xóa thành công.

Ví dụ

Sử dụng code sau để xóa glue job từ 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"))

Kết quả

{'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}}