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

Cách sử dụng Boto3 để xóa thẻ khỏi Tài nguyên keo AWS

Trong bài viết này, chúng ta sẽ xem cách xóa thẻ khỏi Tài nguyên keo AWS.

Ví dụ

Xóa thẻ “ keo-db:tests ”Trong cơ sở dữ liệu keo AWS.

Tuyên bố sự cố: Sử dụng thư viện boto3 bằng Python để xóa thẻ trong Tài nguyên keo AWS.

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 boto3 botocore các ngoại lệ để xử lý các ngoại lệ.

  • Bước 2: resource_arn tags_list là các tham số bắt buộc trong hàm này.

Định dạng của resource_arn phải như sau -

Catalog arn:aws:keo:region:account-id:catalog
Cơ sở dữ liệu arn:aws:keo:vùng:tài khoản-id:cơ sở dữ liệu / tên cơ sở dữ liệu
Bảng arn:aws:keo:region:account-id:table / database name / table name
Kết nối arn:aws:keo:khu vực:tài khoản-id:kết nối / tên kết nối
Trình thu thập thông tin arn:aws:keo:region:account-id:crawller / crawl-name
Công việc arn:aws:keo:region:account-id:job / job-name
Trình kích hoạt arn:aws:keo:vùng:tài khoản-id:trigger / trigger-name
Điểm cuối phát triển arn:aws:keo:region:account-id:devEndpoint / development-endpoint-name
Máy học chuyển đổi arn:aws:keo:vùng:tài khoản-id:mlTransform / biến đổi-id

tags_list phải là [“key1, key2…]

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

  • Bước 4: Tạo ứng dụng AWS cho keo .

  • Bước 5: Bây giờ, hãy sử dụng unsag_resource hàm và chuyển tham số resource_arn dưới dạng ResourceArn và tags_list dưới dạng TagsToRemove.

  • Bước 6: Nó trả về siêu dữ liệu phản hồi và xóa các thẻ trong tài nguyên.

  • Bước 7: Xử lý ngoại lệ chung nếu có sự cố khi xóa thẻ.

Mã mẫu

Sử dụng mã sau để xóa thẻ -

import boto3
from botocore.exceptions import ClientError

def remove_tags_in_resource(resource_arn, tags_list)
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.untag_resource(ResourceArn= resource_arn,TagsToRemove=tags_list)
      return response
   except ClientError as e:
      raise Exception("boto3 client error in remove_tags_in_resource: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in remove_tags_in_resource: " + e.__str__())
tags_dict = ["glue-db"]
print(remove_tags_in_resource("arn:aws:glue:us-east-1:1122225*****88:database/test- db",tags_list))

Đầu ra

{'ResponseMetadata': {'RequestId': 'c9f418b0-***************-fb96', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Fri, 02 Apr 2021 08:04:54 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '27', 'connection': 'keep-alive', 'x-amzn-requestid': 'c9f418b0-******************-fb96'}, 'RetryAttempts': 0}}