কম্পিউটার

AWS Glue-এ উপস্থিত চাকরির জব রানের মাধ্যমে পেজিনেট করতে Boto3 কীভাবে ব্যবহার করবেন


এই নিবন্ধে, আমরা দেখব কিভাবে AWS Glue-এ উপস্থিত চাকরির সমস্ত কাজের মাধ্যমে পেজিনেট করা যায়।

উদাহরণ

সমস্যা বিবৃতি: boto3 ব্যবহার করুন আপনার অ্যাকাউন্টে তৈরি করা AWS Glue Data Catalog থেকে কাজের রানের মাধ্যমে পেজিনেট করার জন্য পাইথনে লাইব্রেরি

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

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

  • ধাপ 2: সর্বোচ্চ_আইটেম , পৃষ্ঠা_আকার এবং স্টার্টিং_টোকেন এই ফাংশনের জন্য ঐচ্ছিক প্যারামিটার, যখন job_name প্রয়োজন।

    • সর্বোচ্চ_আইটেম ফেরত দেওয়ার জন্য মোট রেকর্ড সংখ্যা নির্দেশ করুন। যদি উপলব্ধ রেকর্ডের সংখ্যা> সর্বোচ্চ_আইটেম তারপর একটি NextToken পৃষ্ঠা সংখ্যা পুনঃসূচনা করার প্রতিক্রিয়াতে প্রদান করা হবে।

    • পৃষ্ঠা_আকার প্রতিটি পৃষ্ঠার আকার বোঝায়।

    • শুরু_টোকেন পেজিনেট করতে সাহায্য করে এবং এটি NextToken ব্যবহার করে পূর্ববর্তী প্রতিক্রিয়া থেকে।

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

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

  • ধাপ 5: একটি পেজিনেটর তৈরি করুন৷ অবজেক্ট যা get_job_runs

    ব্যবহার করে সমস্ত ক্রলারের বিবরণ ধারণ করে
  • ধাপ 6: পেজিনেট ফাংশন কল করুন এবং সর্বোচ্চ_আইটেম পাস করুন , পৃষ্ঠা_আকার এবং স্টার্টিং_টোকেন প্যাজিনেশন কনফিগারেশন হিসেবে প্যারামিটার।

  • পদক্ষেপ 7: এটি max_size এর উপর ভিত্তি করে রেকর্ডের সংখ্যা প্রদান করে এবং পৃষ্ঠা_আকার .

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

উদাহরণ কোড

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

-এ তৈরি করা চাকরির সমস্ত কাজের রানের মাধ্যমে পেজিনেট করতে নিম্নলিখিত কোডটি ব্যবহার করুন
 boto3from botocore.exceptions import ClientErrordef paginate_through_jobruns(job_name,max_items=None:int,page_size=None:int, starting_token=None:string):session =boto3.session.Session() glue_client(sation=glueclient) ') চেষ্টা করুন:paginator =glue_client.get_paginator('get_job_runs') প্রতিক্রিয়া =paginator.paginate(JobName=job_name, PaginationConfig={ 'MaxItems':max_items, 'PageSize':page_size, 'StartingToken':StartingToken-এর প্রতিক্রিয়া ছাড়া) যেমন e:raise Exception("paginate_through_jobruns-এ boto3 ক্লায়েন্ট ত্রুটি:" + e.__str__()) ব্যতিক্রম ব্যতীত e:raise Exception("paginate_through_jobruns-এ অপ্রত্যাশিত ত্রুটি:" + e.__str__())a =paginate_through_crawlers_"glue_jobruns ,1,5)মুদ্রণ(*a)

আউটপুট

{'JOBRUNS':[{'আইডি':'JR_435B66CFE451ADF5FA7C7F914BE3C87D19616F52BD13BDD91BB1269F02DB705', 'প্রচেষ্টা':0, 'JOBNAME':'GLUE_TEST_JOBH' , 52000, tzinfo=tzlocal()), 'LastModifiedOn':datetime.datetime(2021, 1, 25, 22, 21, 50, 603000, tzinfo=tzlocal()), 'CompletedOn':datetime.datetime,201 , 25, 22, 21, 50, 603000, tzinfo=tzlocal()), 'JobRunState':'SucCEEDED', 'আর্গুমেন্টস':{'--additional-python-modules':'pandas==1.1.5', '--enable-glue-datacatalog':'true', '-extra-files':'s3://glue/job/test, '--job-bookmark-option':'job-bookmark-disable' , 'step':'0'}, 'PredecessorRuns':[], 'Allocated Capacity':2, 'ExecutionTime':107, 'Timeout':2880, 'MaxCapacity':2.0, 'WorkerType':'G.1X' , 'NumberOfWorkers':2, 'LogGroupName':'/ আউস-আঠালো / কাজ', 'GlueVersion':'2.0'}], 'NextToken':'eyJleHBpcmF0aW9uIjp7InNlY29uZHMiOjE2MTc0NTQ0NDgsIm5hbm9zIjo2OTUwMDAwMDB9LCJsYXN0RXZhbHVhdGVkS2V5Ijp7ImpvYklkIjp7InMiOiJqXzdlYzIzNTYwOWRkMGVmYjRhNTgyNDU2YWVlZm Q4NmFlMTgwYTAyNDQ3NWY2ODRkMzc4YWFiZDBmYTk1MGJmMDcifSwicnVuSWQiOnsicyI6ImpyXzJjNDFkMmJmMzY1NGZhZGFhYzkzMjU1ZTY0OTkxOTg2YTE0Yjk2MjIyMTRlNDc4ZGNkOWE0ZTY5N2M3MGZmY2YifSwic3RhcnRlZE9uIjp7Im4iOiIxNjExMjA3MjcwODIyIn19fQ ==',' ResponseMetadata ':{' RequestId ':' 1874370e - *********** - 40d ',' HTTPStatusCode ':200,' HTTPHeaders ':{' তারিখ ':' শুক্র, 02 এপ্রিল 2021 12:54:08 GMT', 'content-type':'application/x-amz-json-1.1', 'content-length':'6509', 'connection':'keep-alive', ' x-amzn-requestid':'1874370e-**************40d'}, 'RetryAttempts':0}}
  1. AWS Glue Security-এ উপস্থিত একটি নির্দিষ্ট নিরাপত্তা কনফিগারেশনের বিশদ বিবরণ পেতে Boto3 কীভাবে ব্যবহার করবেন?

  2. AWS Glue Data Catalog এ বুকমার্ক করা কাজের বিবরণ পেতে Boto3 কীভাবে ব্যবহার করবেন?

  3. AWS আঠালো থেকে একটি আঠালো কাজ মুছে ফেলার জন্য Boto3 কিভাবে ব্যবহার করবেন?

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