Trong bài viết này, chúng ta sẽ xem cách người dùng có thể lấy các thẻ được liên kết trong Tài nguyên keo AWS.
Ví dụ
Nhận thẻ “ keo-db:kiểm tra ”Từ cơ sở dữ liệu keo AWS.
Tuyên bố sự cố: Sử dụng thư viện boto3 bằng Python để lấy các thẻ từ 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 là tham số bắt buộc trong chức năng 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 |
-
Bước 3: Tạo phiên AWS bằng boto3 lib . Đảm bảo rằng tên_vùng đượ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 get_tags hàm và chuyển tham số resource_arn dưới dạng ResourceArn.
-
Bước 6: Nó trả về các thẻ và siêu dữ liệu phản hồi từ các tài nguyên.
-
Bước 7: Xử lý ngoại lệ chung nếu xảy ra sự cố khi nhận thẻ.
Mã mẫu
Sử dụng mã sau để nhận các thẻ -
import boto3 from botocore.exceptions import ClientError def get_tags_from_resource(resource_arn) session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.get_tags(ResourceArn= resource_arn) return response except ClientError as e: raise Exception("boto3 client error in get_tags_from_resource: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in get_tags_from_resource: " + e.__str__()) print(add_tags_in_resource("arn:aws:glue:us-east-1:1122225*****88:database/test-db"))
Đầu ra
{'Tags': {'glue-job': 'test'}, 'ResponseMetadata': {'RequestId': 'c9f418b0-8d02-4a26-*************', '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-8d02-4a26-**************'}, 'RetryAttempts': 0}}