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

Làm cách nào để sử dụng Boto3 để xóa quy trình làm việc khỏi Danh mục dữ liệu AWS?

Khi người dùng muốn xóa quy trình làm việc khỏi danh mục Dữ liệu AWS.

Ví dụ - Xóa 'kiểm tra' quy trình làm việc khỏi tài khoản của bạn.

Tuyên bố sự cố - Sử dụng thư viện boto3 bằng Python để xóa dòng công việc có sẵn 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ố workflow_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 - Gọi delete_workflow và chuyển workflow_name làm tham số Name.

Bước 6 - Nó sẽ xóa quy trình làm việc và trả về siêu dữ liệu phản hồi. Xin lưu ý rằng nếu quy trình làm việc không được tìm thấy trong Danh mục dữ liệu AWS, thì quy trình này sẽ không có bất kỳ ngoại lệ nào.

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.

Ví dụ

Sử dụng mã sau để xóa dòng công việc được liệt kê trong tài khoản người dùng -

import boto3
from botocore.exceptions import ClientError

def delete_a_workflow(workflow_name):
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.delete_workflow(Name = workflow_name)
      return response
   except ClientError as e:
      raise Exception( "boto3 client error in delete_a_workflow: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in delete_a_workflow: " + e.__str__())

print(delete_a_workflow("test"))

Đầu ra

{'Name': 'test, 'ResponseMetadata': {'RequestId': '………..-………………….-
59a9bc817e0f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 21
Feb 2021 05:37:11 GMT', 'content-type': 'application/x-amz-json-1.1',
'content-length': '35', 'connection': 'keep-alive', 'x-amzn-requestid':
…………………….-59a9bc817e0f'}, 'RetryAttempts': 0}}