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

Boto3 ব্যবহার করে AWS Glue ডেটা ক্যাটালগ থেকে ওয়ার্কফ্লোর বিবরণ পাওয়া


ভূমিকা

একটি নির্দিষ্ট ওয়ার্কফ্লোর সম্পূর্ণ মেটাডেটা (নাম, ডিফল্ট রান প্রপার্টি, তৈরি/মডিফিকেশন টাইম, শেষ রান স্ট্যাটাস, পরিসংখ্যান ইত্যাদি) পাওয়ার জন্য get_workflow API ব্যবহার করা হয়।

সমস্যা বিবরণ

পাইথনে boto3 লাইব্রেরি ব্যবহার করে আপনার অ্যাকাউন্টে তৈরি একটি ওয়ার্কফ্লোর মেটাডেটা পাওয়া।

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

  1. boto3 এবং botocore.exceptions ইম্পোর্ট করুন।
  2. ফাংশনটি workflow_name (বাধ্যতামূলক) প্যারামিটার নেবে।
  3. AWS সেশন এবং Glue ক্লায়েন্ট তৈরি করুন।
  4. glue_client.get_workflow(Name=workflow_name) কল করুন।
  5. রেসপন্সে ওয়ার্কফ্লোর সম্পূর্ণ মেটাডেটা এবং ResponseMetadata থাকবে।
  6. এক্সেপশন হ্যান্ডল করুন।

উদাহরণ কোড

import boto3
from botocore.exceptions import ClientError

def get_resource_metadata_of_workflow(workflow_name):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.get_workflow(Name=workflow_name)
        return response
    except ClientError as e:
        raise Exception("boto3 client error in get_resource_metadata_of_workflow: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in get_resource_metadata_of_workflow: " + e.__str__())

a = get_resource_metadata_of_workflow('dev-aiml-naviga-ods-load')
print(a)

আউটপুট

{'Workflow': {'Name': 'dev-aiml-naviga-ods-load', 'DefaultRunProperties': {}, 'CreatedOn': datetime.datetime(2020, 5, 27, 3, 10, 57, 967000, tzinfo=tzlocal()), 'LastModifiedOn': datetime.datetime(2020, 5, 27, 3, 10, 57, 967000, tzinfo=tzlocal())}, 'StartedOn': datetime.datetime(2021, 2, 3, 16, 14, 48, 795000, tzinfo=tzlocal()), 'CompletedOn': datetime.datetime(2021, 2, 3, 16, 28, 6, 207000, tzinfo=tzlocal()), 'Status': 'COMPLETED', 'Statistics': {'TotalActions': 3, 'TimeoutActions': 0, 'FailedActions': 0, 'StoppedActions': 0, 'SucceededActions': 3, 'RunningActions': 0}}, 'MissingWorkflows': [], 'ResponseMetadata': {'RequestId': 'b328d064-24ab-48c4-b058-852387a3d474', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Feb 2021 13:57:37 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '2655', 'connection': 'keep-alive', 'x-amzn-requestid': 'b328d064-24ab-48c4-b058-852387a3d474'}, 'RetryAttempts': 0}}

ব্যাখ্যা

  • Workflow অবজেক্টে ওয়ার্কফ্লোর বেসিক ইনফো থাকে।

  • StartedOn, CompletedOn, Status (COMPLETED/RUNNING/STOPPED/FAILED) остан্য রানের তথ্য।

  • Statistics এ অ্যাকশনounters (Total, Succeeded, Failed, Stopped, Timeout, Running) থাকে।

  • MissingWorkflows খালি লিস্ট মানে ওয়ার্কফ্লো পাওয়া গেছে।

দ্রষ্টব্য

মূল কোডে ফাংশন নাম get_resource_maetadata_of_workflow (typo: metadata), সংশোধন করা হয়েছে get_resource_metadata_of_workflow।


  1. পাইথন ব্যবহার করে পয়েন্ট সেটের কেন্দ্র বের করার পদ্ধতি

  2. Boto3 এবং AWS Client ব্যবহার করে S3 বাকেটের লগিং বিবরণ কীভাবে পেতে হয়?

  3. Boto3 এবং AWS Client ব্যবহার করে S3 বাকেটের অবস্থান কীভাবে পেতে হয়?

  4. Boto3 এবং AWS Client ব্যবহার করে S3 বাকেটের লাইফসাইকেল কীভাবে পেতে হয়?