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

Cách sử dụng Boto3 để lấy thẻ từ 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ể 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 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}}