এই নিবন্ধে, আমরা দেখব কিভাবে একজন ব্যবহারকারী AWS Glue Data Catalog থেকে একটি কাজের সাথে যুক্ত সমস্ত ট্রিগারের বিশদ বিবরণ পেতে পারেন৷
উদাহরণ
একটি কাজের সাথে যুক্ত সমস্ত ট্রিগারের বিশদ বিবরণ পান - 'কর্মচারী_বিস্তারিত' .
সমস্যা বিবৃতি: boto3 ব্যবহার করুন একটি কাজের সাথে যুক্ত সমস্ত ট্রিগারের বিবরণ পেতে পাইথনে লাইব্রেরি।
এই সমস্যা সমাধানের জন্য অ্যাপ্রোচ/অ্যালগরিদম
-
ধাপ 1: boto3 আমদানি করুন৷ এবং বোটোকোর ব্যতিক্রমগুলি পরিচালনা করার জন্য ব্যতিক্রম৷
-
ধাপ 2: চাকরীর_নাম এই ফাংশনের জন্য ঐচ্ছিক পরামিতি। যদি চাকরীর_নাম প্রদান করা হয়, এটি একই কাজের সাথে যুক্ত সমস্ত ট্রিগার পুনরুদ্ধার করে এবং এই কাজটি শুরু করতে পারে। যাইহোক, যদি এই ধরনের কোন ট্রিগার না থাকে তবে এটি সমস্ত ট্রিগার ফেরত দেয়। ডিফল্টরূপে, মান কোনটি নয়, তাই যদি কাজের_নাম এই ফাংশনটি কল করার সময় পাস করা হয় না, এটি সমস্ত ট্রিগারের বিবরণ প্রদান করবে।
-
ধাপ 3: boto3 lib ব্যবহার করে একটি AWS সেশন তৈরি করুন . অঞ্চলের_নাম নিশ্চিত করুন ডিফল্ট প্রোফাইলে উল্লেখ করা আছে। যদি এটি উল্লেখ না থাকে, তাহলে স্পষ্টভাবে অঞ্চল_নাম পাস করুন সেশন তৈরি করার সময়।
-
পদক্ষেপ 4: আঠালো এর জন্য একটি AWS ক্লায়েন্ট তৈরি করুন .
-
ধাপ 5: get_triggers কে কল করুন এবং job_name পাস করুন DependentJobName হিসেবে
-
ধাপ 6: এটি এই কাজের সাথে যুক্ত ট্রিগারের বিবরণ প্রদান করে৷
-
পদক্ষেপ 7: কাজ চেক করার সময় কিছু ভুল হলে জেনেরিক ব্যতিক্রম হ্যান্ডেল করুন।
উদাহরণ কোড
নিম্নলিখিত কোডটি একটি কাজের সাথে যুক্ত সমস্ত ট্রিগারের বিশদ −
নিয়ে আসেimport boto3 from botocore.exceptions import ClientError def get_details_of_triggers(job_name=None): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.get_triggers(DependentJobName=job_name) return response except ClientError as e: raise Exception("boto3 client error in get_details_of_triggers: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in get_details_of_triggers: " + e.__str__()) a = get_details_of_triggers('employee_details') print(a)
আউটপুট
{'Triggers': [{'Name': '01_PythonShellTest1', 'WorkflowName': 'arn:aws:iam::1234:role/dev-edl, 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string' }]}