এই নিবন্ধে, আমরা দেখব কিভাবে একজন ব্যবহারকারী একটি AWS অ্যাকাউন্টে উপস্থিত সমস্ত ট্রিগারের তালিকা পেতে পারে৷
উদাহরণ
একটি AWS গ্লু ডেটা ক্যাটালগে উপলব্ধ সমস্ত ট্রিগারের তালিকা পান৷
৷সমস্যা বিবৃতি: boto3 ব্যবহার করুন সমস্ত ট্রিগারের তালিকা পেতে পাইথনে লাইব্রেরি।
এই সমস্যা সমাধানের জন্য পদ্ধতি/অ্যালগরিদম
-
ধাপ 1: boto3 আমদানি করুন৷ এবং বোটোকোর ব্যতিক্রমগুলি পরিচালনা করার জন্য ব্যতিক্রম৷
-
ধাপ 2: এই ফাংশনে কোন প্যারামিটার নেই।
-
ধাপ 3: boto3 lib ব্যবহার করে একটি AWS সেশন তৈরি করুন . নিশ্চিত করুন region_name ডিফল্ট প্রোফাইলে উল্লেখ করা আছে। যদি এটি উল্লেখ না থাকে, তাহলে স্পষ্টভাবে অঞ্চল_নাম পাস করুন সেশন তৈরি করার সময়।
-
পদক্ষেপ 4: আঠালো এর জন্য একটি AWS ক্লায়েন্ট তৈরি করুন .
-
ধাপ 5: এখন list_triggers ব্যবহার করুন ফাংশন।
-
ধাপ 6: এটি AWS Glue ডেটা ক্যাটালগে উপস্থিত সমস্ত ট্রিগারের তালিকা প্রদান করে। যদি কোন ট্রিগার না থাকে, তাহলে এটি একটি খালি ডিক্ট প্রদান করে। যাইহোক, এই ফাংশনটি ট্যাগ হিসাবে ঐচ্ছিক পরামিতি গ্রহণ করে যাতে ব্যবহারকারী ট্রিগারগুলি ফিল্টার করতে পারে এবং ট্যাগের সাথে যুক্ত শুধুমাত্র সেই ট্রিগারগুলি ফেরত দিতে পারে৷
-
পদক্ষেপ 7: ট্রিগার চেক করার সময় কিছু ভুল হলে জেনেরিক ব্যতিক্রম হ্যান্ডেল করুন।
উদাহরণ কোড
নিম্নলিখিত কোডটি সমস্ত ট্রিগারের তালিকা নিয়ে আসে -
import boto3
from botocore.exceptions import ClientError
def list_of_triggers()
session = boto3.session.Session()
glue_client = session.client('glue')
try:
triggers = glue_client.list_triggers()
return triggers
except ClientError as e:
raise Exception("boto3 client error in list_of_triggers: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in list_of_triggers: " + e.__str__())
print(list_of_triggers()) আউটপুট
{'TriggerNames':
['data-etl-file-passed-to-splitter',
'file-passed-to-worker',
'file-trigger',
'test-daily-jobs',
'test-daily-jobs-copy'
],
'ResponseMetadata': {'RequestId': '8e95115b****************90', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Mar 2021 09:14:03 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '304', 'connection': 'keep-alive', 'x-amzn-requestid': '8e95115b*********************90'}, 'RetryAttempts': 0}}