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

Boto3 ব্যবহার করে একসাথে একাধিক ট্রিগারের ডিটেইলস পাওয়া


সমস্যা বিবরণ − Python-এ boto3 লাইব্রেরি ব্যবহার করে আপনার অ্যাকাউন্টে উপলব্ধ ট্রিগারগুলো পাওয়া। উদাহরণস্বরূপ, আপনার অ্যাকাউন্টে অনুমোদিত ট্রিগারগুলোর ডিটেইলস পাওয়া।

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

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

ধাপ ২ − এই ফাংশনের জন্য কোনো প্যারামিটার প্রয়োজন নেই। এটি ইউজার অ্যাকাউন্টের জন্য লিস্ট করা সকল ট্রিগার আনয়ন করবে এবং তারপর প্রতিটি ট্রিগারের মেটাডেটা প্রদর্শন করবে।

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

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

ধাপ ৫ − এখন list_triggers ফাংশন ব্যবহার করে ইউজার অ্যাকাউন্টে লিস্ট করা সকল জব পাওয়া।

ধাপ ৬ − batch_get_triggers কল করা এবং আগের ফাংশনে পাওয়া জব নামগুলো পাস করা।

ধাপ ৭ − এটি list_of_triggers এবং প্রতিটি ট্রিগারের মেটাডেটা রিটার্ন করে।

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

উদাহরণ

ইউজার অ্যাকাউন্টে লিস্ট করা প্রতিটি ট্রিগারের ডিটেইলস আনয়ন করতে নিচের কোড ব্যবহার করুন −

import boto3 from botocore.exceptions import ClientError def get_resource_maetadata_of_triggers():     session = boto3.session.Session()     glue_client = session.client('glue')     try:         list_of_triggers = glue_client.list_triggers()         response = glue_client.batch_get_triggers(TriggerNames=list_of_triggers['TriggerNames'])         return list_of_triggers, response     except ClientError as e:         raise Exception("boto3 client error in get_resource_maetadata_of_triggers: " + e.__str__())     except Exception as e:         raise Exception("Unexpected error in get_resource_maetadata_of_triggers: " + e.__str__()) a, b = get_resource_metadat_of_triggers() # ট্রিগারদের লিস্ট print(a) # প্রতিটি ট্রিগারের রিসোর্স মেটাডেটা print(b)

আউটপুট

# ট্রিগারদের লিস্ট {'TriggersNames': ['01_PythonShellTest1'], 'NextToken': 'eyJleHBpcmF0aW9uIjp7InNlY29uZHMiOjE2MTQxNzE2OTksIm5hbm9zIjo1MTYwMDAwMDB9LCJsYXN0RXZhbHVzFiMzAzNzAxMzRmNDk3NWM3M2MyMjhjYTk5MDgzZTA3YjQ0ZWEyOTZlIn19fQ==', 'ResponseMetadata': {'RequestId': '5d3eb19a-41f5-b24e-2d59ed9664b5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 23 Feb 2021 13:01:39 GMT', 'content-type': 'application/x-amz-json-1.1', 'contentlength': '1134', 'connection': 'keep-alive', 'x-amzn-requestid': '5d3eb19a-41f5-b24e-2d59ed9664b5'}, 'RetryAttempts': 0}} # প্রতিটি ট্রিগারের রিসোর্স মেটাডেটা {'Triggers': [{'Name': '01_PythonShellTest1', 'WorkflowName': 'arn:aws:iam::1234:role/dev-edl', 'Id': 'string', 'Type': 'string', 'State': 'CREATING|CREATED|ACTIVATING|ACTIVATED|DEACTIVATING|DEACTIVATED|DELETING|UPDATING', 'Description': 'string', 'Schedule': 'string'}]}

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

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

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

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