কম্পিউটার টিউটোরিয়াল

Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে সব ডেটাবেসের ডিটেইলস পাওয়া


সমস্যা বিবরণ − Python-এ boto3 লাইব্রেরি ব্যবহার করে সকল ডেটাবেসের ডেফিনিশন পুনরুদ্ধার করা।

উদাহরণ − সকল ডেটাবেসের ডেফিনিশন পুনরুদ্ধার করা।

সমাধানের পদ্ধতি/অ্যালগরিদম

ধাপ ১ − boto3 এবং botocore এক্সসেপশন ইম্পোর্ট করে এক্সসেপশন হ্যান্ডল করা।

ধাপ ২ − কোনো প্যারামিটার নেই।

ধাপ ৩ − boto3 লাইব্রেরি ব্যবহার করে AWS সেশন তৈরি করা। নিশ্চিত করুন region_name ডিফল্ট প্রোফাইলে ذکر করা আছে। না থাকলে সেশন তৈরি করার সময় স্পষ্টভাবে region_name পাস করুন।

ধাপ ৪ − Glue-এর জন্য AWS ক্লায়েন্ট তৈরি করা।

ধাপ ৫ − এখন get_databases ফাংশন ব্যবহার করা।

ধাপ ৬ − এটি ইউজারের অ্যাকাউন্টে থাকা সকল ডেটাবেসের ডেফিনিশন রিটার্ন করে।

ধাপ ৭ − জব চেক করার সময় যদি কিছু ভুল হয় তবে জেনেরিক এক্সসেপশন হ্যান্ডল করা।

উদাহরণ

সকল ডেটাবেসের ডেফিনিশন পুনরুদ্ধার করতে নিচের কোড ব্যবহার করুন −

import boto3 from botocore.exceptions import ClientError def retrieves_all_database_details():     session = boto3.session.Session()     glue_client = session.client('glue')     try:         response = glue_client.get_databases()         return response     except ClientError as e:         raise Exception("boto3 client error in retrieves_all_database_details: " + e.__str__())     except Exception as e:         raise Exception("Unexpected error in retrieves_all_database_details: " + e.__str__()) print(retrieves_all_database_details())

আউটপুট

{'DatabaseList': [ {'Name': 'QA-test', 'CreateTime': datetime.datetime(2020, 11, 18, 14, 24, 46, tzinfo=tzlocal())}, {'Name': 'custdb', 'CreateTime': datetime.datetime(2020, 8, 31, 20, 30, 9, tzinfo=tzlocal())}, {'Name': 'default', 'Description': 'Default Hive database', 'LocationUri': 'hdfs://ip-************.ec2.internal:****/user/hive/warehouse', 'CreateTime': datetime.datetime(2018, 5, 25, 16, 4, 54, tzinfo=tzlocal())},'NextToken': 'eyJsYXN0RXZhbHVhdGVkS2V5Ijp7IkhBU0hfS0VZIjp7InMiOiJuLjc4MjI1ODQ4NTg0MSJ9LCJSQU5HRV9LRVkiOnsic3I6InN************Mjk3NywibmFub3MiOjIyNTA***********NvbnRleHQiOmZhbHNlfQ==', 'ResponseMetadata': {'RequestId': 'fa0a2069-***********-a0617', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 28 Feb 2021 12:49:37 GMT', 'content-type': 'application/x-amz-json-1.1', 'contentlength': '25749', 'connection': 'keep-alive', 'x-amzn-requestid': 'fa0a2069-************a0617'}, 'RetryAttempts': 0}}

  1. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি ক্লাসিফায়ারের ডিটেইলস পাওয়া

  2. Boto3 ব্যবহার করে AWS Data Catalog থেকে একটি ট্রিগার ডিলিট করা

  3. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি টেবিল ডিলিট করা

  4. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি ক্রলার ডিলিট করা