Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách dùng Boto3 lấy cấu hình bảo mật/mã hóa catalog từ AWS Glue Data Catalog

Đề bài − 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 catalog.

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

Cách tiếp cận/Thuật toán giải quyết

Bước 1 − Nhập boto3 và botocore exceptions để xử lý ngoại lệ.

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

Bước 3 − Tạo phiên AWS bằng boto3. Đảm bảo region_name trong profile mặc định. Nếu không, truyền rõ ràng region_name khi tạo phiên.

Bước 4 − Tạo client AWS cho glue.

Bước 5 − Sử dụng hàm get_data_catalog_encryption_settings và truyền catalog_id làm tham số CatalogId.

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

Bước 7 − Xử lý ngoại lệ chung nếu có lỗi xảy ra khi kiểm tra job.

Ví dụ

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

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())

Kết quả

{'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}}