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

Làm cách nào để sử dụng Boto3 để nhận cài đặt cấu hình / mã hóa bảo mật của một danh mục từ AWS Glue Data Catalog?

Tuyên bố sự cố - Sử dụng thư viện boto3 trong Python để truy xuất cấu hình bảo mật / cài đặt mã hóa của một danh mục.

Ví dụ - Truy xuất cấu hình bảo mật / cài đặt mã hóa của một danh mục.

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

Bước 2 - catalog_id là tham số tùy chọn. Nếu nó không được cung cấp, nó sẽ lấy thông tin chi tiết về tài khoản AWS của người dùng.

Bước 3 - Tạo phiên AWS bằng thư viện boto3. Đả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 dán.

Bước 5 - Bây giờ hãy sử dụng get_data_catalog_encryption_settings và chuyển catalog_id dưới dạng tham số CatalogId.

Bước 6 - Nó trả về các chi tiết của cài đặt mã hóa.

Bước 7 - Xử lý ngoại lệ chung nếu có sự cố xảy ra trong khi kiểm tra công việc.

Ví dụ

Sử dụng mã sau để truy xuất cài đặt cấu hình / mã hóa bảo mật của một danh mục -

import boto3
from botocore.exceptions import ClientError

def retrieves_encryption_setting(catalog_id=None)
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.get_data_catalog_encryption_settings(CatalogId = catalog_id)
      return response
   except ClientError as e:
      raise Exception("boto3 client error in retrieves_encryption_setting: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in retrieves_encryption_setting: " + e.__str__())
print(retrieves_encryption_setting())

Đầu ra

{'DataCatalogEncryptionSettings': {'EncryptionAtRest':
{'CatalogEncryptionMode': 'SSE-KMS'}, 'ConnectionPasswordEncryption':
{'ReturnConnectionPasswordEncrypted': True}}, 'ResponseMetadata':
{'RequestId': '5ffc0dbb***************7c', 'HTTPStatusCode': 200,
'HTTPHeaders': {'date': 'Sun, 28 Feb 2021 12:22:16 GMT', 'content-type':
'application/x-amz-json-1.1', 'content-length': '166', 'connection':
'keep-alive', 'x-amzn-requestid': '5ffc0dbb********************7c'},
'RetryAttempts': 0}}