কম্পিউটার টিউটোরিয়াল

Boto3 ব্যবহার করে AWS Glue ডেটা ক্যাটালগে ক্রলার বন্ধ করা


ভূমিকা

AWS Glue ক্রলার (Crawler) ডেটা সোর্স স্ক্যান করে মেটাডেটা বানায়। কখনও কখনও রানিং ক্রলার বন্ধ করতে হয় (উদাহরণ: এটি আটকে গেলে বা রিসোর্স বাঁচাতে)। এই নিবন্ধে Boto3 ব্যবহার করে একটি ক্রলার বন্ধ করার পদ্ধতি দেখানো হয়েছে।

সমস্যা বিবরণ

পাইথনে boto3 লাইব্রেরি ব্যবহার করে একটি ক্রলার বন্ধ করা।

অ্যালগরিদম / ধাপসমূহ

  1. boto3 এবং botocore.exceptions ইম্পোর্ট করুন।
  2. ফাংশনটি crawler_name প্যারামিটার নেবে।
  3. AWS সেশন এবং Glue ক্লায়েন্ট তৈরি করুন (রিজন নিশ্চিত করুন)।
  4. glue_client.stop_crawler(Name=crawler_name) কল করুন।
  5. রেসপন্স মেটাডেটা রিটার্ন করবে। যদি ক্রলার রানিং না থাকে, তবে CrawlerNotRunningException থ্রো হবে।
  6. এক্সেপশন হ্যান্ডল করুন।

উদাহরণ কোড

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_crawler API কল করলে ক্রলার আশু বন্ধ হয়ে যায় (যদি রানিং থাকে)।

  • যদি ক্রলার ইতিমধ্যে বন্ধ থাকে, তবে AWS CrawlerNotRunningException এক্সেপশন থ্রো করে।

  • আউটপুটে HTTPStatusCode: 200 সফলতা নির্দেশ করছে।

সামঞ্জস্যপূর্ণ অপারেশন

  • start_crawler - ক্রলার শুরু করা
  • start_crawler_schedule / stop_crawler_schedule - শিডিউলার চালু/বন্ধ করা
  • get_crawler - ক্রলার স্টেট চেক করা

  1. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি টেবিলের নির্দিষ্ট ভার্সন ডিলিট করা

  2. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি টেবিল ডিলিট করা

  3. Boto3 ব্যবহার করে AWS Data Catalog থেকে একটি ডেটাবেস ডিলিট করা

  4. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি ক্রলার ডিলিট করা