সমস্যা বিবরণ − 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'}]}