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

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


সমস্যা বিবরণ − Python-এ boto3 লাইব্রেরি ব্যবহার করে AWS Glue Data Catalog-এ থাকা একটি কানেকশনের ডিটেইলস পাওয়া।

উদাহরণ − একটি কানেকশন ডেফিনিশনের ডিটেইলস পাওয়া, 'aurora-test'।

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

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

ধাপ ২ − connection_name প্যারামিটার পাস করা যার ডেফিনিশন চেক করতে হবে।

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

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

ধাপ ৫ − get_connection ফাংশন কল করা এবং connection_name কে Name প্যারামিটার হিসেবে পাস করা।

ধাপ ৬ − এটি AWS Glue Data Catalog থেকে কানেকশন ডেফিনিশনের ডিটেইলস আনয়ন করবে।

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

উদাহরণ

AWS Glue Data Catalog-এ একটি কানেকশনের ডেফিনিশন পাওয়ার জন্য নিচের কোড ব্যবহার করুন −

import boto3 from botocore.exceptions import ClientError def get_details_of_a_connection(connection_name):     session = boto3.session.Session()     glue_client = session.client('glue')     try:         response = glue_client.get_connection(Name=connection_name)         return response     except ClientError as e:         raise Exception("boto3 client error in get_details_of_a_connection: " + e.__str__())     except Exception as e:         raise Exception("Unexpected error in get_details_of_a_connection: " + e.__str__()) print(get_details_of_a_connection("aurora-poc"))

আউটপুট

{'Connection': {'Name': 'aurora-poc', 'ConnectionType': 'JDBC', 'ConnectionProperties': {'JDBC_CONNECTION_URL': 'jdbc:postgresql://abcpostgresql-cluster.cluster-abc.us-east-1.rds.amazonaws.com:0132/abc', 'JDBC_ENFORCE_SSL': 'false', 'PASSWORD': '******', 'USERNAME': 'abc***'}, 'PhysicalConnectionRequirements': {'SubnetId': 'subnet351*****', 'SecurityGroupIdList': ['sg-caa******', 'sg-*************'], 'AvailabilityZone': 'us-east-1c'}, 'CreationTime': datetime.datetime(2020, 11, 18, 12, 38, 29, 625000, tzinfo=tzlocal()), 'LastUpdatedTime': datetime.datetime(2020, 11, 18, 12, 51, 16, 59000, tzinfo=tzlocal())}, 'ResponseMetadata': {'RequestId': '6f13524b-4175-454b-bc60-c7f408967098', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 28 Feb 2021 11:19:18 GMT', 'content-type': 'application/x-amzjson-1.1', 'content-length': '523', 'connection': 'keep-alive', 'x-amznrequestid': '6f13524b-*****************7098'}, 'RetryAttempts': 0}}

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

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

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

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