ভূমিকা
AWS Glue ক্রলার (Crawler) ডেটা সোর্স স্ক্যান করে মেটাডেটা বানায়। কখনও কখনও রানিং ক্রলার বন্ধ করতে হয় (উদাহরণ: এটি আটকে গেলে বা রিসোর্স বাঁচাতে)। এই নিবন্ধে Boto3 ব্যবহার করে একটি ক্রলার বন্ধ করার পদ্ধতি দেখানো হয়েছে।
সমস্যা বিবরণ
পাইথনে boto3 লাইব্রেরি ব্যবহার করে একটি ক্রলার বন্ধ করা।
অ্যালগরিদম / ধাপসমূহ
- boto3 এবং botocore.exceptions ইম্পোর্ট করুন।
- ফাংশনটি crawler_name প্যারামিটার নেবে।
- AWS সেশন এবং Glue ক্লায়েন্ট তৈরি করুন (রিজন নিশ্চিত করুন)।
glue_client.stop_crawler(Name=crawler_name)কল করুন।- রেসপন্স মেটাডেটা রিটার্ন করবে। যদি ক্রলার রানিং না থাকে, তবে
CrawlerNotRunningExceptionথ্রো হবে। - এক্সেপশন হ্যান্ডল করুন।
উদাহরণ কোড
import boto3
from botocore.exceptions import ClientError
def stop_a_crawler(crawler_name):
session = boto3.session.Session()
glue_client = session.client('glue')
try:
response = glue_client.stop_crawler(Name=crawler_name)
return response
except ClientError as e:
raise Exception("boto3 client error in stop_a_crawler: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in stop_a_crawler: " + e.__str__())
print(stop_a_crawler("Data Dimension"))
আউটপুট
{'ResponseMetadata': {'RequestId': '73e50130-*****************8e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 28 Mar 2021 07:26:55 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '2', 'connection': 'keep-alive', 'x-amzn-requestid': '73e50130-***************8e'}, 'RetryAttempts': 0}}
ব্যাখ্যা
stop_crawlerAPI কল করলে ক্রলার আশু বন্ধ হয়ে যায় (যদি রানিং থাকে)।যদি ক্রলার ইতিমধ্যে বন্ধ থাকে, তবে AWS
CrawlerNotRunningExceptionএক্সেপশন থ্রো করে।আউটপুটে
HTTPStatusCode: 200সফলতা নির্দেশ করছে।
সামঞ্জস্যপূর্ণ অপারেশন
start_crawler- ক্রলার শুরু করাstart_crawler_schedule/stop_crawler_schedule- শিডিউলার চালু/বন্ধ করাget_crawler- ক্রলার স্টেট চেক করা