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

Cách sử dụng Boto3 để thêm thẻ trong Tài nguyên keo AWS

Trong bài viết này, chúng ta sẽ xem cách người dùng có thể thêm thẻ trong Tài nguyên keo AWS.

Ví dụ

Thêm 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 để thêm 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_dict 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:vùng:tài khoản-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_dict phải là {“key”:”value”, ..}

  • 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 tag_resource hàm và chuyển tham số resource_arn dưới dạng ResourceArn và tags_dict dưới dạng TagsToAdd.

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

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

Mã mẫu

Sử dụng mã sau để thêm thẻ -

import boto3
from botocore.exceptions import ClientError

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

Đầ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}}