কম্পিউটার

Boto3 ব্যবহার করে একটি কর্মপ্রবাহের বিশদ কীভাবে পাবেন


এই নিবন্ধে, আমরা দেখব কিভাবে একজন ব্যবহারকারী ওয়ার্কফ্লো এর রিসোর্স মেটাডেটা পেতে পারেন।

উদাহরণ

আপনার অ্যাকাউন্টে তৈরি করা AWS Glue Data Catalog থেকে কর্মপ্রবাহের বিশদ বিবরণ পান৷

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

এই সমস্যা সমাধানের জন্য অ্যাপ্রোচ/অ্যালগরিদম

  • ধাপ 1: boto3 আমদানি করুন৷ এবং বোটোকোর ব্যতিক্রমগুলি পরিচালনা করার জন্য ব্যতিক্রম৷

  • ধাপ 2: ওয়ার্কফ্লো_নাম এই ফাংশনের জন্য প্রয়োজনীয় পরামিতি। এটি প্রদত্ত কর্মপ্রবাহের মেটাডেটা আনবে৷

  • ধাপ 3: boto3 lib ব্যবহার করে একটি AWS সেশন তৈরি করুন . region_name নিশ্চিত করুন৷ ডিফল্ট প্রোফাইলে উল্লেখ করা আছে। যদি এটি উল্লেখ না থাকে, তাহলে স্পষ্টভাবে অঞ্চল_নাম পাস করুন সেশন তৈরি করার সময়।

  • পদক্ষেপ 4: আঠালো এর জন্য একটি AWS ক্লায়েন্ট তৈরি করুন .

  • ধাপ 5: get_workflow কে কল করুন এবং workflow_name পাস করুন নামের প্যারামিটার হিসাবে।

  • ধাপ 6: এটি একটি প্রদত্ত কর্মপ্রবাহের মেটাডেটা ফেরত দেয়৷

  • পদক্ষেপ 7: কাজ চেক করার সময় কিছু ভুল হলে জেনেরিক ব্যতিক্রম হ্যান্ডেল করুন।

উদাহরণ কোড

নিম্নলিখিত কোড ব্যবহারকারীর অ্যাকাউন্টে তৈরি একটি কর্মপ্রবাহের বিশদ সংগ্রহ করে −

import boto3
from botocore.exceptions import ClientError

def get_resource_maetadata_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_maetadata_of_workflow: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in get_resource_maetadata_of_workflow: " + e.__str__())
a = get_resource_maetadata_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}}

  1. পাইথন ব্যবহার করে পয়েন্টগুলির একটি সেটের কেন্দ্র কীভাবে পাবেন?

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

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

  4. Boto3 এবং AWS ক্লায়েন্ট ব্যবহার করে একটি S3 বালতির জীবনচক্র কিভাবে পেতে হয়?