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

Boto3 ব্যবহার করে AWS Glue ডেটা ক্যাটালগ থেকে একটি জবের সাথে যুক্ত সব ট্রিগারের বিবরণ পাওয়া


ভূমিকা

একটি নির্দিষ্ট জবকে কোন কোন ট্রিগার শুরু করে তা জানতে get_triggers API-তে DependentJobName প্যারামিটার ব্যবহার করা হয়।

সমস্যা বিবরণ

পাইথনে boto3 লাইব্রেরি ব্যবহার করে একটি জবের সাথে যুক্ত সব ট্রিগারের বিবরণ পাওয়া (উদাহরণ: 'employee_details' জব)।

অ্যালগরিদম / ধাপসমূহ

  1. boto3 এবং botocore.exceptions ইম্পোর্ট করুন।
  2. ফাংশনটি ঐচ্ছিক job_name প্যারামিটার নেবে। দেওয়া থাকলে সেই জবের ট্রিগারগুলো, না থাকলে সব ট্রিগার।
  3. AWS সেশন এবং Glue ক্লায়েন্ট তৈরি করুন।
  4. glue_client.get_triggers(DependentJobName=job_name) কল করুন।
  5. রেসপন্সে Triggers লিস্ট (প্রতিটিতে Name, WorkflowName, Id, Type, State, Description, Schedule) থাকবে।
  6. এক্সেপশন হ্যান্ডল করুন।

উদাহরণ কোড

import boto3
from botocore.exceptions import ClientError

def get_details_of_triggers(job_name=None):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.get_triggers(DependentJobName=job_name)
        return response
    except ClientError as e:
        raise Exception("boto3 client error in get_details_of_triggers: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in get_details_of_triggers: " + e.__str__())

a = get_details_of_triggers('employee_details')
print(a)

আউটপুট

{'Triggers': [{'Name': '01_PythonShellTest1', 'WorkflowName': 'arn:aws:iam::1234:role/dev-edl', 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string'}]}

ব্যাখ্যা

  • DependentJobName দিলে শুধু সেই জবকে ডিপেন্ড করার ট্রিগারগুলো রিটার্ন হয়।

  • Type: SCHEDULED (টাইম-ভিত্তিক), CONDITIONAL (ইভেন্ট-ভিত্তিক), ON_DEMAND (ম্যানুয়াল)।

  • State: ট্রিগার করেন্ট স্টেট (ACTIVATED, DEACTIVATED, ইত্যাদি)।

  • WorkflowName আউটপুটে IAM রোল ARN দেখাচ্ছে, সম্ভবত উদাহরণ ডেটা। সাধারণত ওয়ার্কফ্লো নাম থাকে।


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

  2. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি ক্লাসিফায়ারের ডিটেইলস পাওয়া

  3. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি টেবিল ডিলিট করা

  4. Boto3 ব্যবহার করে AWS Glue Data Catalog থেকে একটি ক্রলার ডিলিট করা