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

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


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

उदाहरण

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

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

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

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

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

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

  • चरण 5: get_multiple_function_definition को कॉल करें और database_name को DatabaseName और regular_pattern को Pattern पैरामीटर के रूप में पास करें।

  • चरण 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 बकेट का ओनरशिप कंट्रोल विवरण कैसे प्राप्त करें?

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

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

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

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

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