इस लेख में, हम देखेंगे कि उपयोगकर्ता AWS Glue डेटा कैटलॉग में क्रॉलर के शेड्यूलर को कैसे शुरू कर सकता है।
उदाहरण
AWS Glue डेटा कैटलॉग में उपलब्ध क्रॉलर के शेड्यूलर को शुरू करें।
समस्या कथन: क्रॉलर के शेड्यूलर को शुरू करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1: अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2: crawler_name इस फ़ंक्शन में आवश्यक पैरामीटर है।
चरण 3: boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में region_name उल्लिखित है। यदि नहीं, तो सत्र बनाते समय स्पष्ट रूप से region_name पास करें।
चरण 4: glue के लिए AWS क्लाइंट बनाएं।
चरण 5: अब start_crawler_schedule फ़ंक्शन का उपयोग करें और पैरामीटर crawler_name को CrawlerName के रूप में पास करें।
चरण 6: यह प्रतिक्रिया मेटाडेटा लौटाता है और क्रॉलर की शेड्यूल स्थिति को SCHEDULED के रूप में सेट करता है। यदि क्रॉलर की स्थिति चल रही है या शेड्यूल स्थिति पहले से ही 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}}