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

Boto3 ব্যবহার করে মাইগ্রেশন অপারেশনের স্ট্যাটাস পাওয়া


সমস্যা বিবরণ − Python-এ boto3 লাইব্রেরি ব্যবহার করে একটি মাইগ্রেটিং অপারেশনের স্ট্যাটাস পাওয়া।

উদাহরণ − একটি অ্যাকাউন্টে মাইগ্রেশন অপারেশনের স্ট্যাটাস পাওয়া।

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

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

ধাপ ২ − catalog_id প্যারামিটার পাস করা যেসব মাইগ্রেটিং স্ট্যাটাস চেক করতে হবে। যাইহোক, এটি একটি অপশনাল প্যারামিটার। যদি প্রদান না করা হয়, ডিফল্টভাবে এটি লগড-ইন ইউজার অ্যাকাউন্ট চেক করে যে মাইগ্রেশন চলছে কিনা বা সম্পন্ন হয়েছে। catalog_id ব্যবহারকারী অ্যাকাউন্ট আইডির অন্য কিছু নয়।

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

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

ধাপ ৫ − get_catalog_import_status কল করা এবং catalog_id কে CatalogId প্যারামিটার হিসেবে পাস করা।

ধাপ ৬ − এটি চলমান মাইগ্রেটিং অপারেশনের ডিটেইলস আনয়ন করবে। অন্যথায়, এটি শেষ মাইগ্রেশন ডিটেইলস আনয়ন করবে।

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

উদাহরণ

একটি মাইগ্রেটিং অপারেশনের স্ট্যাটাস পাওয়ার জন্য নিচের কোড ব্যবহার করুন −

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}}

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

  2. Boto3 লাইব্রেরি ব্যবহার করে Python-এ একটি ক্রলারের ডিটেইলস পাওয়া

  3. Boto3 ব্যবহার করে একটি চলমান Glue Job-এর স্ট্যাটাস চেক করা

  4. Boto3 লাইব্রেরি ব্যবহার করে AWS S3-এ উপস্থিত বাকেটগুলির তালিকা পেতে পদ্ধতি