Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Boto3 का उपयोग करके चल रहे Glue जॉब का स्टेटस कैसे चेक करें?


समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके Glue जॉब चलाएं और स्टेटस प्राप्त करें कि यह सफल हुआ या विफल। उदाहरण के लिए, जॉब run_s3_file_job चलाएं और उसका स्टेटस प्राप्त करें।

इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदम

चरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।

चरण 2 - job_name अनिवार्य पैरामीटर है, जबकि arguments फंक्शन में वैकल्पिक पैरामीटर है। कुछ जॉब्स चलाने के लिए आर्गुमेंट्स लेते हैं। उस स्थिति में, आर्गुमेंट्स को डिक्ट के रूप में पास किया जा सकता है।

उदाहरण के लिए: arguments = {'arguments1' = 'value1', 'arguments2' = 'value2'}

यदि जॉब आर्गुमेंट्स नहीं लेता है, तो केवल job_name पास करें।

चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि region_name डिफ़ॉल्ट प्रोफ़ाइल में उल्लिखित है। यदि नहीं बताया गया है, तो सत्र बनाते समय region_name को स्पष्ट रूप से पास करें।

चरण 4 - Glue के लिए AWS क्लाइंट बनाएं।

चरण 5 - अब start_job_run फंक्शन का उपयोग करें और JobName और आवश्यकता होने पर आर्गुमेंट्स पास करें।

चरण 6 - एक बार जॉब शुरू होने पर, यह जॉब के मेटाडेटा के साथ job_run_id प्रदान करता है।

चरण 7 - फंक्शन get_job_run का उपयोग करें और पिछले फंक्शन के परिणाम से RunId पैरामीटर पास करें। यह स्टेटस के बारे में डिक्शनरी लौटाता है।

चरण 8 - अब, जॉब का विशिष्ट स्टेटस प्राप्त करें। स्टेटस रनिंग हो सकता है यदि जॉब पूरा नहीं हुआ है अन्यथा SUCCEEDED/FAILED।

चरण 9 - जॉब चेक करते समय यदि कुछ गलत हुआ तो सामान्य अपवाद को संभालें।

उदाहरण

मौजूदा Glue जॉब को चलाने और उसका स्टेटस प्राप्त करने के लिए निम्न कोड का उपयोग करें -

import boto3 from botocore.exceptions import ClientError def run_glue_job_get_status(job_name, arguments={}):     session = boto3.session.Session()     glue_client = session.client('glue')     try:         job_run_id = glue_client.start_job_run(JobName=job_name, Arguments=arguments)         status_detail = glue_client.get_job_run(JobName=job_name, RunId=job_run_id.get("JobRunId"))         status = status_detail.get("JobRun").get("JobRunState")         return status     except ClientError as e:         raise Exception("boto3 client error in run_glue_job_get_status: " + e.__str__())     except Exception as e:         raise Exception("Unexpected error in run_glue_job_get_status: " + e.__str__()) # पहली बार स्टेटस प्राप्त करें print(run_glue_job_get_status("run_s3_file_job")) # प्रतीक्षा के बाद दूसरी बार स्टेटस प्राप्त करें time.sleep(10) print(run_glue_job_get_status("run_s3_file_job"))

आउटपुट

## पहली बार स्टेटस प्राप्त करें Running # प्रतीक्षा के बाद दूसरी बार SUCCEEDED

  1. - Boto3 का उपयोग करके चल रहे Glue जॉब का स्टेटस कैसे चेक करें?

    समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके Glue जॉब चलाएं और स्टेटस प्राप्त करें कि यह सफल हुआ या विफल। उदाहरण के लिए, जॉब run_s3_file_job चलाएं और उसका स्टेटस प्राप्त करें।इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदमचरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात कर

  1. - Python में Boto3 लाइब्रेरी का उपयोग करके Glue जॉब कैसे चलाएं?

    समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके Glue जॉब चलाएं। उदाहरण के लिए, जॉब run_s3_file_job चलाएं।इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदमचरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।चरण 2 - job_name फंक्शन में अनिवार्य पैरामीटर्स हैं जबकि arguments वैक

  1. - Boto3 का उपयोग करके चेक करें कि Glue जॉब मौजूद है या नहीं?

    समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके चेक करें कि Glue जॉब मौजूद है या नहीं। उदाहरण के लिए, चेक करें कि run_s3_file_job AWS Glue में मौजूद है या नहीं।इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदमचरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।चरण 2 - job_nam