সমস্যা বিবৃতি − মাইগ্রেটিং অপারেশনের স্থিতি পেতে পাইথনে boto3 লাইব্রেরি ব্যবহার করুন৷
৷উদাহরণ - একটি অ্যাকাউন্টে মাইগ্রেশন অপারেশনের স্থিতি পান৷
৷এই সমস্যা সমাধানের জন্য পদ্ধতি/অ্যালগরিদম
ধাপ 1 − ব্যতিক্রমগুলি পরিচালনা করতে boto3 এবং botocore ব্যতিক্রমগুলি আমদানি করুন৷
৷ধাপ 2 − প্যারামিটার ক্যাটালগ_আইডি পাস করুন যার স্থানান্তরের স্থিতি পরীক্ষা করা দরকার। যাইহোক, এটি একটি ঐচ্ছিক পরামিতি। যদি এটি প্রদান করা না হয়, ডিফল্টরূপে এটি মাইগ্রেশন প্রক্রিয়াধীন বা সম্পূর্ণ হয়েছে কিনা তা লগ ইন করা ব্যবহারকারীর অ্যাকাউন্টের জন্য পরীক্ষা করে। catalog_id ব্যবহারকারীর অ্যাকাউন্ট আইডি ছাড়া অন্য কিছু নয়।
ধাপ 3 - boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন। নিশ্চিত করুন যে অঞ্চল_নাম ডিফল্ট প্রোফাইলে উল্লেখ আছে। যদি এটি উল্লেখ না থাকে, তাহলে সেশন তৈরি করার সময় স্পষ্টভাবে অঞ্চল_নামটি পাস করুন।
পদক্ষেপ 4৷ − আঠার জন্য একটি AWS ক্লায়েন্ট তৈরি করুন৷
৷ধাপ 5 − get_catalog_import_status কল করুন এবং ক্যাটালগআইডি প্যারামিটার হিসাবে ক্যাটালগ_আইডি পাস করুন।
ধাপ 6 - এটি চলমান মাইগ্রেশন অপারেশনের বিশদ সংগ্রহ করবে। অন্যথায়, এটি শেষ মাইগ্রেশনের বিবরণ আনবে৷
৷পদক্ষেপ 7 − কাজ চেক করার সময় যদি কিছু ভুল হয়ে থাকে তাহলে জেনেরিক ব্যতিক্রম হ্যান্ডেল করুন।
উদাহরণ
একটি মাইগ্রেশন অপারেশন −
এর অবস্থা পেতে নিম্নলিখিত কোডটি ব্যবহার করুন৷import boto3
from botocore.exceptions import ClientError
def status_of_migration(catalog_id = None):
session = boto3.session.Session()
glue_client = session.client('glue')
try:
response = glue_client.get_catalog_import_status(CatalogId = catalog_id)
return response
except ClientError as e:
raise Exception( "boto3 client error in status_of_migration: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in status_of_migration: " + e.__str__())
print(status_of_migration()) আউটপুট
{'ImportStatus': {'ImportCompleted': True, 'ImportTime':
datetime.datetime(2017, 11, 17, 1, 32, 44, tzinfo=tzlocal()),
'ImportedBy': 'StatusSetByDefault'}, 'ResponseMetadata': {'RequestId':
'7c33d6f9-……………..-3b202961e3e7', 'HTTPStatusCode': 200, 'HTTPHeaders':
{'date': 'Sun, 21 Feb 2021 05:40:06 GMT', 'content-type':
'application/x-amz-json-1.1', 'content-length': '102', 'connection':
'keep-alive', 'x-amzn-requestid': '7c33d6f9-…….…………-3b202961e3e7'},
'RetryAttempts': 0}}