কম্পিউটার

আপনার অ্যাকাউন্টে তৈরি ওয়ার্কফ্লো পেতে Boto3 কীভাবে ব্যবহার করবেন?


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

ধাপ 1 − ব্যতিক্রমগুলি পরিচালনা করতে boto3 এবং botocore ব্যতিক্রমগুলি আমদানি করুন৷

ধাপ 2 - এই ফাংশনের জন্য কোন প্যারামিটারের প্রয়োজন নেই। এটি ব্যবহারকারীর অ্যাকাউন্টের জন্য সমস্ত তালিকাভুক্ত ট্রিগার আনবে এবং তারপর প্রতিটি ট্রিগারের মেটাডেটা প্রদর্শন করবে৷

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

পদক্ষেপ 4৷ − আঠার জন্য একটি AWS ক্লায়েন্ট তৈরি করুন৷

ধাপ 5 − এখন ব্যবহারকারীর অ্যাকাউন্টে তালিকাভুক্ত সমস্ত কাজ পেতে list_workflows ফাংশন ব্যবহার করুন।

ধাপ 6batch_get_workflows কে কল করুন এবং পূর্ববর্তী ফাংশনে আনা কাজের নাম পাস করুন।

পদক্ষেপ 7 − এটি list_of_workflows প্রদান করে এবং প্রতিটি কর্মপ্রবাহের মেটাডেটা।

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

উদাহরণ

ব্যবহারকারীর অ্যাকাউন্ট-

-এ তৈরি প্রতিটি কর্মপ্রবাহের বিবরণ আনতে নিম্নলিখিত কোডটি ব্যবহার করুন
import boto3
from botocore.exceptions import ClientError

def get_resource_maetadata_of_workflows():
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      list_of_workflows = glue_client.list_workflows()
      response = glue_client.batch_get_workflows( Names=list_of_workflows['Workflows'])

      return list_of_workflows, response
   except ClientError as e:
      raise Exception( "boto3 client error in get_resource_maetadata_of_workflows: " + e.__str__())
   except Exception as e:
      raise Exception( "Unexpected error in get_resource_maetadata_of_workflows: " + e.__str__())

a, b = get_resource_maetadata_of_workflows()
#List of Workflows
print(a)
#Resource metadata of each Workflow
print(b)

আউটপুট

#List of Workflows
{'Workflows': ['dev-aiml-naviga-ods-load'], 'ResponseMetadata':
{'RequestId': '556890ce-bcd1-4bb0-9c33-3ae1db13f3a9', 'HTTPStatusCode':
200, 'HTTPHeaders': {'date': 'Sat, 27 Feb 2021 13:57:37 GMT', 'contenttype': 'application/x-amz-json-1.1', 'content-length': '91',
'connection': 'keep-alive', 'x-amzn-requestid': '556890ce-bcd1-4bb0-
9c33-3ae1db13f3a9'}, 'RetryAttempts': 0}}
#Resource metadata of each Workflow
{'Workflows': [{'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. একবারে একাধিক ট্রিগারের বিশদ পেতে Boto3 কীভাবে ব্যবহার করবেন?

  2. একবারে একাধিক আঠালো কাজের বিবরণ পেতে Boto3 কীভাবে ব্যবহার করবেন?

  3. একটি ক্রলারের বিশদ পেতে পাইথনে Boto3 লাইব্রেরি কীভাবে ব্যবহার করবেন?

  4. AWS S3 তে উপস্থিত বালতিগুলির তালিকা পেতে পাইথনে Boto3 লাইব্রেরি কীভাবে ব্যবহার করবেন?