কম্পিউটার

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


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

সমস্যা বিবৃতি - আপনার অ্যাকাউন্টে কাজগুলি পেতে পাইথনে boto3 লাইব্রেরি ব্যবহার করুন৷ উদাহরণস্বরূপ, আপনার অ্যাকাউন্টে উপলব্ধ চাকরির বিবরণ পান।

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

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

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

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

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

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

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

পদক্ষেপ 7 - এটি কাজের_তালিকা প্রদান করে এবং প্রতিটি কাজের মেটাডেটা।

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

উদাহরণ

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

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

def get_resource_maetadata_of_glue_jobs():
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      list_of_jobs = glue_client.list_jobs()
      response = glue_client.batch_get_jobs(JobNames=list_of_jobs['JobNames'])

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

a, b = get_resource_metadat_of_glue_jobs()
#List of Jobs
print(a)
#Resource metadata of each job
print(b)

আউটপুট

#List of Jobs
{'JobNames': ['01_PythonShellTest1', '01_pythonSHELL_14012021'],
'NextToken':
'eyJleHBpcmF0aW9uIjp7InNlY29uZHMiOjE2MTQxNzE2OTksIm5hbm9zIjo1MTYwMDAwMDB
9LCJsYXN0RXZhbHV
zFiMzAzNzAxMzRmNDk3NWM3M2MyMjhjYTk5MDgzZTA3YjQ0ZWEyOTZlIn19fQ==',
'ResponseMetadata': {'RequestId': '5d3eb19a-41f5-b24e-2d59ed9664b5',
'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 23 Feb 2021
13:01:39 GMT', 'content-type': 'application/x-amz-json-1.1', 'contentlength': '1134', 'connection': 'keep-alive', 'x-amzn-requestid':
'5d3eb19a-41f5-b24e-2d59ed9664b5'}, 'RetryAttempts': 0}}

#Resource metadata of each job
{'Jobs': [{'Name': '01_PythonShellTest1', 'Role':
'arn:aws:iam::1234:role/dev-edl-glue-role', 'CreatedOn':
datetime.datetime(2021, 1, 6, 19, 59, 19, 387000, tzinfo=tzlocal()),
'LastModifiedOn': datetime.datetime(2021, 2, 9, 21, 47, 31, 614000,
tzinfo=tzlocal()), 'ExecutionProperty': {'MaxConcurrentRuns': 1},
'Command': {'Name': 'pythonshell', 'ScriptLocation':
's3://test/01_pythonShellTest/test1/01_PythonShellTest1.py',
'PythonVersion': '3'}, 'DefaultArguments': {'--job-bookmark-option':
'job-bookmark-disable', '--job-language': 'python'}, 'MaxRetries': 0,
'AllocatedCapacity': 0, 'Timeout': 2880, 'MaxCapacity': 0.0625,
'GlueVersion': '1.0'},
{'Name': '01_pythonSHELL_14012021', 'Role': 'arn:aws:iam::1234:role/devedl-glue-role', 'CreatedOn': datetime.datetime(2021, 1, 14, 20, 22, 40,
965000, tzinfo=tzlocal()), 'LastModifiedOn': datetime.datetime(2021, 1,
14, 20, 22, 40, 965000, tzinfo=tzlocal()), 'ExecutionProperty':
{'MaxConcurrentRuns': 1}, 'Command': {'Name': 'pythonshell',
'ScriptLocation': 's3://test/01_pythonSHELL_14012021_123.py',
'PythonVersion': '3'}, 'DefaultArguments': {'--job-bookmark-option':
'job-bookmark-disable'}, 'MaxRetries': 0, 'AllocatedCapacity': 0,
'Timeout': 2880, 'MaxCapacity': 0.0625, 'GlueVersion': '1.0'}]}


  1. একবারে একাধিক ট্রিগারের বিশদ পেতে Boto3 কীভাবে ব্যবহার করবেন?

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

  3. চলমান আঠালো কাজের স্থিতি পরীক্ষা করতে Boto3 কীভাবে ব্যবহার করবেন?

  4. একটি আঠালো কাজ চালানোর জন্য পাইথনে Boto3 লাইব্রেরি কীভাবে ব্যবহার করবেন?