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

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


ভূমিকা

একটি ক্রলার ম্যানুয়ালি শুরু করার জন্য start_crawler API ব্যবহার করা হয়। এটি ক্রলারের শিডিউল নির্বিশেষে সাথে সাথে রান শুরু করে।

সমস্যা বিবরণ

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

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

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

উদাহরণ কোড

import boto3
from botocore.exceptions import ClientError

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

# প্রথমবার শুরু
print(start_a_crawler("Data Dimension"))
# দ্বিতীয়বার (ক্রলার রানিং থাকলে এরর)
print(start_a_crawler("Data Dimension"))

আউটপুট

#1st time start the crawler
{'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}}
#2nd time run, before crawler completes the operation
Exception: boto3 client error in start_a_crawler: An error occurred (CrawlerRunningException) when calling the StartCrawler operation: Crawler with name Data Dimension has already started

ব্যাখ্যা

  • প্রথম কল সফল হয় (HTTP 200)।

  • দ্বিতীয় কল CrawlerRunningException থ্রো করে কারণ ক্রলার ইতিমধ্যে রানিং আছে।

  • প্রোডাকশনে ক্রলার শুরু করার আগে 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 থেকে একটি ক্রলার ডিলিট করা