সমস্যা বিবরণ − Python-এ boto3 লাইব্রেরি ব্যবহার করে একটি ক্যাটালগের সিকিউরিটি কনফিগারেশন/এনক্রিপশন সেটিংস পুনরুদ্ধার করা।
উদাহরণ − একটি ক্যাটালগের সিকিউরিটি কনফিগারেশন/এনক্রিপশন সেটিংস পুনরুদ্ধার করা।
সমাধানের পদ্ধতি/অ্যালগরিদম
ধাপ ১ − boto3 এবং botocore এক্সসেপশন ইম্পোর্ট করে এক্সসেপশন হ্যান্ডল করা।
ধাপ ২ − catalog_id হলো অপশনাল প্যারামিটার। যদি প্রদান না করা হয়, তবে এটি ইউজারের AWS অ্যাকাউন্টের ডিটেইলস নেয়।
ধাপ ৩ − boto3 লাইব্রেরি ব্যবহার করে AWS সেশন তৈরি করা। নিশ্চিত করুন region_name ডিফল্ট প্রোফাইলে ذکر করা আছে। না থাকলে সেশন তৈরি করার সময় স্পষ্টভাবে region_name পাস করুন।
ধাপ ৪ − Glue-এর জন্য AWS ক্লায়েন্ট তৈরি করা।
ধাপ ৫ − এখন get_data_catalog_encryption_settings ফাংশন ব্যবহার করুন এবং catalog_id কে CatalogId প্যারামিটার হিসেবে পাস করুন।
ধাপ ৬ − এটি এনক্রিপশন সেটিংসের ডিটেইলস রিটার্ন করে।
ধাপ ৭ − জব চেক করার সময় যদি কিছু ভুল হয় তবে জেনেরিক এক্সসেপশন হ্যান্ডল করা।
উদাহরণ
একটি ক্যাটালগের সিকিউরিটি কনফিগারেশন/এনক্রিপশন সেটিংস পুনরুদ্ধার করতে নিচের কোড ব্যবহার করুন −
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())আউটপুট
{'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}}