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

Boto3 ব্যবহার করে একটি Glue Job-এর সব রানের স্ট্যাটাস চেক করা


সমস্যা বিবরণ − Python-এ boto3 লাইব্রেরি ব্যবহার করে একটি প্রদত্ত জবের সব রানের স্ট্যাটাস চেক করা।

উদাহরণ − 'run_s3_file_job' নামে একটি Glue Job-এর সব রানের স্ট্যাটাস পাওয়া।

সমাধানের পদ্ধতি/অ্যালগরিদম

ধাপ ১ − boto3 এবং botocore এক্সসেপশন ইম্পোর্ট করে এক্সসেপশন হ্যান্ডল করা।

ধাপ ২ − job_name হলো বাধ্যতামূলক প্যারামিটার। ফাংশনটি প্রদত্ত job_name-এর ডিটেইলস আনয়ন করবে।

ধাপ ৩ − boto3 লাইব্রেরি ব্যবহার করে AWS সেশন তৈরি করা। নিশ্চিত করুন region_name ডিফল্ট প্রোফাইলে ذکر করা আছে। না থাকলে সেশন তৈরি করার সময় স্পষ্টভাবে region_name পাস করুন।

ধাপ ৪ − Glue-এর জন্য AWS ক্লায়েন্ট তৈরি করা।

ধাপ ৫ − এখন get_job_runs ফাংশন ব্যবহার করুন এবং job_name কে JobName প্যারামিটার হিসেবে পাস করুন।

ধাপ ৬ − এটি প্রদত্ত জবের সকল গত জব রানের ডিটেইলস আনয়ন করে।

ধাপ ৭ − ফর লুপ ব্যবহার করে নির্দিষ্ট জব রানগুলো একে একে পাওয়া।

ধাপ ৮ − এখন, জবের নির্দিষ্ট স্ট্যাটাস এবং সংশ্লিষ্ট জব রান আইডি পাওয়া। স্ট্যাটাস হতে পারে Running যদি জব সম্পন্ন না হয়, অন্যথায় SUCCEEDED/FAILED।

ধাপ ৯ − জব চেক করার সময় যদি কিছু ভুল হয় তবে জেনেরিক এক্সসেপশন হ্যান্ডল করা।

উদাহরণ

একটি প্রদত্ত জবের সব রানের স্ট্যাটাস চেক করতে নিচের কোড ব্যবহার করুন −

import boto3 from botocore.exceptions import ClientError def get_status_of_job_all_runs(job_name):     session = boto3.session.Session()     glue_client = session.client('glue')     try:         response = glue_client.get_job_runs(JobName=job_name)         for res in response['JobRuns']:             print("Job Run id is:" + res.get("Id"))             print("status is:" + res.get("JobRunState"))     except ClientError as e:         raise Exception("boto3 client error in get_status_of_job_all_runs: " + e.__str__())     except Exception as e:         raise Exception("Unexpected error in get_status_of_job_all_runs: " + e.__str__()) get_status_of_job_all_runs("run_s3_file_job")

আউটপুট

job id is:jr_6ef92e90ad66b1a6c7abb1c2659d114a34962b8c6ae4bf9b328ac90b99a33b7d status is:FAILED job id is:jr_9fef13265036406e03e7cae79257305353203ab20b5f400e0c429e10a4999dba status is:FAILED job id is:jr_f9d715a33e83460fc2ef6dee0840a98ef52c06c2ff569627633c4505fda7d835 status is:FAILED job id is:jr_71b57633ac4d8c24f904f0ae01f613f6d54baee440d0ede23f6030cffb0bf4d7 status is:FAILED job id is:jr_b7ead6b6ae43da2580888c73d6896c177510df73bd77c843d3e77b4dc5f22e2f status is:FAILED job id is:jr_6e757509d51066648d49c22a47c26e728d6f842a1c5d2fd4f41941ca868460e6 status is:FAILED job id is:jr_89c1a7b8ea045fac36d25733d7fc657d3560eb159e7e122a8960981dd225a9d0 status is:FAILED job id is:jr_87522bcb924e41a6cf0294185b0a09e46a4ff4c67db5007ff7c10f959836a44b status is:FAILED job id is:jr_08bb54854c8e5c60e96a3e2bade1184963973c1ea7a1e760029e740d4c4c5d7d status is:FAILED job id is:jr_540a90407bb7fbde72b3e1d6cbc98c3b246c21c87d836ff389491bf95520bb41 status is:FAILED job id is:jr_f27227cb16ec9d3df665d8753b09c2e2d24d5b5e5263f3d3f17a9bd4669bee67 status is:FAILED job id is:jr_a1ae4ad2edcbdac5c948b8be92a79a37c27517113364ddc88c8a93bc712fe6c1 status is:SUCCEEDED

  1. Boto3 ব্যবহার করে একসাথে একাধিক Glue Job-এর ডিটেইলস পাওয়া

  2. Boto3 ব্যবহার করে একটি চলমান Glue Job-এর স্ট্যাটাস চেক করা

  3. Boto3 লাইব্রেরি ব্যবহার করে Python-এ একটি Glue Job রান করা

  4. Boto3 ব্যবহার করে একটি Glue Job আছে কিনা চেক করা