Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

Boto3 का उपयोग करके AWS डेटा कैटलॉग से डेटाबेस में कई फ़ंक्शन परिभाषाओं का विवरण कैसे प्राप्त करें?

आइए देखें कि कैसे एक उपयोगकर्ता AWS ग्लू डेटा कैटलॉग से कई फ़ंक्शन परिभाषाओं का विवरण प्राप्त कर सकता है।

उदाहरण

समस्या कथन: boto3 . का उपयोग करें एडब्ल्यूएस गोंद डेटा कैटलॉग से डेटाबेस में मौजूद कई फ़ंक्शन परिभाषाओं का विवरण प्राप्त करने के लिए पायथन में पुस्तकालय।

इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम

  • चरण 1: आयात करें boto3 और बोटोकोर अपवादों को संभालने के लिए अपवाद।

  • चरण 2: डेटाबेस_नाम और नियमित_पैटर्न वैकल्पिक पैरामीटर हैं। यदि इनके लिए विवरण प्रदान नहीं किया जाता है, तो फ़ंक्शन एडब्ल्यूएस उपयोगकर्ता खाते में मौजूद सभी कार्यों की परिभाषा प्राप्त करता है। अगर डेटाबेस_नाम प्रदान किया जाता है लेकिन नियमित_पैटर्न प्रदान नहीं किया जाता है, तो यह किसी दिए गए डेटाबेस में सभी कार्यों को प्राप्त करता है। यदि दोनों पैरामीटर प्रदान किए जाते हैं, तो यह regular_pattern के अनुसार मिलान किए गए फ़ंक्शन की परिभाषा प्राप्त करता है . अगर केवल नियमित_पैटर्न प्रदान किया जाता है, यह नियमित_पैटर्न . से मेल खाने वाले सभी कार्यों को प्राप्त करता है एडब्ल्यूएस उपयोगकर्ता खाते में मौजूद है

  • चरण 3: boto3 lib . का उपयोग करके AWS सत्र बनाएं . सुनिश्चित करें कि क्षेत्र_नाम डिफ़ॉल्ट प्रोफ़ाइल में उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो स्पष्ट रूप से region_name . पास करें सत्र बनाते समय।

  • चरण 4: गोंद . के लिए AWS क्लाइंट बनाएं ।

  • चरण 5: कॉल करें get_multiple_function_definition और डेटाबेस_नाम . पास करें डेटाबेसनाम और नियमित_पैटर्न . के रूप में पैटर्न पैरामीटर के रूप में।

  • चरण 6: यह प्रदान किए गए पैरामीटर के अनुसार कई कार्यों की परिभाषा देता है।

  • चरण 7: फ़ंक्शन की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।

उदाहरण कोड

निम्नलिखित कोड कई कार्यों की परिभाषा प्राप्त करता है -

import boto3
from botocore.exceptions import ClientError

def get_multiple_function_definition(database_name =None, regular_pattern = None):
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.get_user_defined_functions(DatabaseName=database_name,Pattern= regular_pattern)
      return response
   except ClientError as e:
      raise Exception("boto3 client error in get_multiple_function_definition: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in get_multiple_function_definition: " + e.__str__())
a = get_multiple_function_definition('employee')
print(a)

आउटपुट

{
   'UserDefinedFunctions':[{
      'FunctionName': 'insert_employee_record',
      'DatabaseName': 'employee',
      'ClassName': 'InsertEmployee',
      'OwnerName': 'string',
      'OwnerType': 'USER'|'ROLE'|'GROUP',
      'CreateTime': datetime(2021,03,15),
      'ResourceUris':[
         {
            'ResourceType': 'JAR'|'FILE'|'ARCHIVE',
            'Uri': 'string'
         },
      ]
   }]
}

  1. Boto3 और AWS क्लाइंट का उपयोग करके S3 बकेट का स्वामित्व नियंत्रण विवरण कैसे प्राप्त करें?

    समस्या का विवरण - एक S3 बकेट का स्वामित्व नियंत्रण विवरण प्राप्त करने के लिए Python में boto3 लाइब्रेरी का उपयोग करें। उदाहरण के लिए, S3 में बकेट_1 का स्वामित्व नियंत्रण विवरण देखें। इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें

  1. Boto3 और AWS क्लाइंट का उपयोग करके S3 बकेट का नोटिफिकेशन कॉन्फ़िगरेशन विवरण कैसे प्राप्त करें?

    समस्या का विवरण - S3 बकेट का नोटिफिकेशन कॉन्फ़िगरेशन प्राप्त करने के लिए Python में boto3 लाइब्रेरी का उपयोग करें। उदाहरण के लिए, S3 में बकेट_1 के नोटिफिकेशन कॉन्फ़िगरेशन विवरण प्राप्त करें। इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आय

  1. Boto3 और AWS क्लाइंट का उपयोग करके S3 बकेट का बकेट लॉगिंग विवरण कैसे प्राप्त करें?

    समस्या का विवरण - S3 बकेट के लॉगिंग विवरण प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें। उदाहरण के लिए, S3 में बकेट_1 का लॉगिंग विवरण प्राप्त करें। इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें। चरण 2 - फ़ंक्शन में