Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để sử dụng Boto3 để xóa lệnh dán từ AWS Glue?

Tuyên bố sự cố - Sử dụng thư viện boto3 trong Python để xóa lệnh dán, được tạo trong tài khoản của bạn.

Ví dụ - Xóa lệnh dán ‘transfer_from_s3’ được tạo trong tài khoản của bạn.

Phương pháp tiếp cận / Thuật toán để giải quyết vấn đề này

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

Bước 2 - Chuyển tham số job_name sẽ bị xóa khỏi AWS Glue Catalog.

Bước 3 - Tạo phiên AWS bằng thư viện boto3. Đảm bảo rằng tên miền được đề cập trong hồ sơ mặc định. Nếu nó không được đề cập, thì hãy chuyển rõ ràng region_name trong khi tạo phiên.

Bước 4 - Tạo ứng dụng AWS cho keo dán.

Bước 5 - Bây giờ sử dụng chức năng delete_job và chuyển job_name làm tham số JobName.

Bước 6 - Nó sẽ xóa công việc và trả về siêu dữ liệu phản hồi.

Bước 7 - Xử lý ngoại lệ chung nếu có sự cố xảy ra trong khi kiểm tra công việc.

Lưu ý - Sau khi hoàn thành thao tác này, nó sẽ xóa một định nghĩa công việc đã chỉ định. Nếu công việc không được tìm thấy trong AWS Glue, nó sẽ không tạo ra bất kỳ ngoại lệ nào và đầu ra cũng tương tự nếu nó xóa bất kỳ.

Ví dụ

Sử dụng mã sau để xóa lệnh dán keo khỏi 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.delelte_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"))

Đầu ra

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