समस्या का विवरण - कैटलॉग के सुरक्षा कॉन्फ़िगरेशन/एन्क्रिप्शन सेटिंग्स को पुनः प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
उदाहरण - कैटलॉग की सुरक्षा कॉन्फ़िगरेशन/एन्क्रिप्शन सेटिंग पुनर्प्राप्त करें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2 - catalog_id वैकल्पिक पैरामीटर है। यदि यह प्रदान नहीं किया जाता है, तो यह उपयोगकर्ता के AWS खाते का विवरण लेता है।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि क्षेत्र_नाम डिफ़ॉल्ट प्रोफ़ाइल में उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो स्पष्ट रूप से region_name . पास करें सत्र बनाते समय।
चरण 4 - गोंद के लिए AWS क्लाइंट बनाएं।
चरण 5 - अब get_data_catalog_encryption_settings का उपयोग करें कार्य करें और catalog_id . पास करें कैटलॉग आईडी पैरामीटर के रूप में।
चरण 6 - यह एन्क्रिप्शन सेटिंग्स का विवरण देता है।
चरण 7 - कार्य की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण
किसी कैटलॉग की सुरक्षा कॉन्फ़िगरेशन/एन्क्रिप्शन सेटिंग पुनर्प्राप्त करने के लिए निम्न कोड का उपयोग करें -
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}}