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

Boto3 ব্যবহার করে AWS Glue ডেটা ক্যাটালগে ক্রলারের শিডিউলার শুরু করা


ভূমিকা

একটি ক্রলারের শিডিউলার (scheduler) শুরু করার মানে হলো ক্রলারকে তার সংজ্ঞায়িত শিডিউল অনুযায়ী স্বয়ংক্রিয়ভাবে চালু করার জন্য সক্ষম করা। start_crawler_schedule API এর জন্য শুধু ক্রলার নাম দরকার।

সমস্যা বিবরণ

পাইথনে boto3 লাইব্রেরি ব্যবহার করে একটি ক্রলারের শিডিউলার শুরু করা।

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

  1. boto3 এবং botocore.exceptions ইম্পোর্ট করুন।
  2. ফাংশনটি crawler_name প্যারামিটার নেবে।
  3. AWS সেশন এবং Glue ক্লায়েন্ট তৈরি করুন।
  4. glue_client.start_crawler_schedule(CrawlerName=crawler_name) কল করুন।
  5. রেসপন্স মেটাডেটা রিটার্ন করবে এবং ক্রলারের শিডিউল স্টেট SCHEDULED হবে।
  6. যদি ক্রলার ইতিমধ্যে রানিং থাকে বা শিডিউল ইতিমধ্যে SCHEDULED থাকে, তবে SchedulerRunningException থ্রো হবে।
  7. এক্সেপশন হ্যান্ডল করুন।

উদাহরণ কোড

import boto3
from botocore.exceptions import ClientError

def start_scheduler_of_a_crawler(crawler_name):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.start_crawler_schedule(CrawlerName=crawler_name)
        return response
    except ClientError as e:
        raise Exception("boto3 client error in start_scheduler_of_a_crawler: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in start_scheduler_of_a_crawler: " + e.__str__())

print(start_scheduler_of_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}}

ব্যাখ্যা

  • এই API শুধু শিডিউলারকে সক্ষম করে, ক্রলারকে সাথে সাথে শুরু করে না। ক্রলার পরবর্তী শিডিউলড টাইমে चलेगा।

  • ক্রলারের বর্তমান স্টেট জানতে get_crawler ব্যবহার করুন।


  1. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি ক্লাসিফায়ারের ডিটেইলস পাওয়া

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

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

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