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 và botocore các ngoại lệ để xử lý các ngoại lệ.
-
Bước 2: resource_arn và 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}}