যখন একজন ইউজার AWS Data Catalog থেকে একটি ওয়ার্কফ্লো ডিলিট করতে চায়।
উদাহরণ − আপনার অ্যাকাউন্ট থেকে 'test' ওয়ার্কফ্লো ডিলিট করা।
সমস্যা বিবরণ − Python-এ boto3 লাইব্রেরি ব্যবহার করে আপনার অ্যাকাউন্টে উপলব্ধ একটি ওয়ার্কফ্লো ডিলিট করা।
সমাধানের পদ্ধতি/অ্যালগরিদম
ধাপ ১ − boto3 এবং botocore এক্সসেপশন ইম্পোর্ট করে এক্সসেপশন হ্যান্ডল করা।
ধাপ ২ − workflow_name প্যারামিটার পাস করা যা AWS Glue Catalog থেকে ডিলিট করা উচিত।
ধাপ ৩ − boto3 লাইব্রেরি ব্যবহার করে AWS সেশন তৈরি করা। নিশ্চিত করুন region_name ডিফল্ট প্রোফাইলে ذکر করা আছে। না থাকলে সেশন তৈরি করার সময় স্পষ্টভাবে region_name পাস করুন।
ধাপ ৪ − Glue-এর জন্য AWS ক্লায়েন্ট তৈরি করা।
ধাপ ৫ − delete_workflow কল করা এবং workflow_name কে Name প্যারামিটার হিসেবে পাস করা।
ধাপ ৬ − এটি ওয়ার্কফ্লো ডিলিট করবে এবং রেসপন্স মেটাডেটা রিটার্ন করবে। মনে রাখবেন, যদি ওয়ার্কফ্লো AWS Data Catalog-এ না পাওয়া যায়, তবে এটি কোনো এক্সসেপশন থ্রো করে না।
ধাপ ৭ − জব চেক করার সময় যদি কিছু ভুল হয় তবে জেনেরিক এক্সসেপশন হ্যান্ডল করা।
উদাহরণ
ইউজার অ্যাকাউন্টে লিস্ট করা একটি ওয়ার্কফ্লো ডিলিট করতে নিচের কোড ব্যবহার করুন −
import boto3 from botocore.exceptions import ClientError def delete_a_workflow(workflow_name): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.delete_workflow(Name=workflow_name) return response except ClientError as e: raise Exception("boto3 client error in delete_a_workflow: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in delete_a_workflow: " + e.__str__()) print(delete_a_workflow("test"))আউটপুট
{'Name': 'test', 'ResponseMetadata': {'RequestId': '......-...........-59a9bc817e0f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 21 Feb 2021 05:37:11 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '35', 'connection': 'keep-alive', 'x-amzn-requestid': '.............-59a9bc817e0f'}, 'RetryAttempts': 0}}