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

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


समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके चेक करें कि Glue जॉब मौजूद है या नहीं। उदाहरण के लिए, चेक करें कि run_s3_file_job AWS Glue में मौजूद है या नहीं।

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

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

चरण 2 - job_name फंक्शन में पैरामीटर है।

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

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

चरण 5 - अब get_job फंक्शन का उपयोग करें और JobName पास करें।

चरण 6 - यदि जॉब मौजूद है, तो रिस्पॉन्स में जॉब के बारे में सभी विवरण होंगे, अन्यथा यह अपवाद फेंकता है।

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

उदाहरण

चेक करने के लिए निम्न कोड का उपयोग करें कि Glue जॉब मौजूद है या नहीं -

import boto3 from botocore.exceptions import ClientError def check_glue_job_exists(job_name):     session = boto3.session.Session()     glue_client = session.client('glue')     try:         response = glue_client.get_job(JobName=job_name)         return response     except ClientError as e:         raise Exception("boto3 client error in check_glue_job_exists: " + e.__str__())     except Exception as e:         raise Exception("Unexpected error in check_glue_job_exists: " + e.__str__()) # मौजूदा जॉब चेक करने के लिए print(check_glue_job_exists("run_s3_file_job")) # जॉब मौजूद नहीं है print(check_glue_job_exists("run_s3_file_job_not_exist"))

आउटपुट

# मौजूदा जॉब चेक करने के लिए {'Job': {'Name': 'run_s3_file_job', 'Description': 'Glue job for the test', 'Role': 'arn:aws:iam::12345:role/delegated/glue-service-role', 'CreatedOn': datetime.datetime(2021, 02, 10, 15, 7, 3, 638000, tzinfo=tzlocal()), 'LastModifiedOn': datetime.datetime(2021, 02, 10, 15, 7, 3, 638000, tzinfo=tzlocal()), 'ExecutionProperty': {'MaxConcurrentRuns': 1}, 'Command': {'Name': 'glueetl', 'ScriptLocation': 's3://test/pipeline.py', 'PythonVersion': '3'}, 'DefaultArguments': {'--job-language': 'python', 'Step': '0'}, 'MaxRetries': 0, 'AllocatedCapacity': 4, 'Timeout': 2880, 'MaxCapacity': 4.0, 'WorkerType': 'G.1X', 'NumberOfWorkers': 4, 'GlueVersion': '2.0'}, 'ResponseMetadata': {'RequestId': 'e3ec9e2c-e75d-4443-bfeafef674fff7e9', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 13 Feb 2021 13:20:27 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '1501', 'connection': 'keep-alive', 'x-amznrequestid': 'e3ec9e2c-e75d-4443-bfea-fef674fff7e9'}, 'RetryAttempts': 0}} # जॉब मौजूद नहीं है botocore.errorfactory.EntityNotFoundException: An error occurred (EntityNotFoundException) when calling the GetJob operation: Job with name: run_s3_file_job_not_exist not found.

  1. - Python का उपयोग करके किसी संख्या की जांच कैसे करें कि वह अभाज्य (prime) है या नहीं?

    इस समस्या के समाधान में उपयोग किया गया सिद्धांत यह है कि दी गई संख्या को 3 से उसके वर्गमूल तक की सभी संख्याओं से विभाजित किया जाए। किसी संख्या का वर्गमूल सबसे बड़ा संभावित गुणनखंड (factor) होता है, जिसके बाद यह जांचने की आवश्यकता नहीं होती कि वह किसी अन्य संख्या से विभाज्य है या नहीं, ताकि यह तय किय

  1. - Python का उपयोग करके कैसे जांचें कि कोई फाइल मौजूद है या नहीं?

    कंप्यूटर में किसी विशेष फाइल की उपस्थिति को Python कोड का उपयोग करके दो तरीकों से सत्यापित किया जा सकता है। एक तरीका os.path मॉड्यूल के isfile() फंक्शन का उपयोग करना है। यदि निर्दिष्ट पथ पर फाइल मौजूद है तो फंक्शन True लौटाता है, अन्यथा False लौटाता है। >>> import os >>> os.path.is

  1. - पायथन का उपयोग करके कैसे जांचें कि फ़ाइल मौजूद है या नहीं?

    आप फ़ाइल अनुमतियों और अस्तित्व की जांच के लिए मोड्स के साथ os.access(path, mode) का उपयोग कर सकते हैं, जिसमें पढ़ने, लिखने और निष्पादन अनुमतियों के लिए मोड होते हैं। उदाहरण >>> import os >>> os.access(my_file, os.F_OK) # फ़ाइल के अस्तित्व की जांच True >>> os.access(my_fi