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

ग्लू जॉब की स्थिति की जांच करने के लिए Boto3 का उपयोग कैसे करें?

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

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

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

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

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

अगर नौकरी तर्क नहीं लेती है, तो बस job_name पास करें।

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

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

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

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

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

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

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

उदाहरण

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

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__())

#Get status 1st time
print(run_glue_job_get_status("run_s3_file_job"))
#Get status 2nd time after waiting
time.sleep(10)
print(run_glue_job_get_status("run_s3_file_job"))

आउटपुट

##Get status 1st time
Running
#Get status 2nd time after waiting
SUCCEEDED

  1. ग्लू जॉब की स्थिति की जांच करने के लिए Boto3 का उपयोग कैसे करें?

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

  1. ग्लू जॉब चलाने के लिए पायथन में Boto3 लाइब्रेरी का उपयोग कैसे करें?

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

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

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