এই নিবন্ধে, আমরা দেখব কিভাবে 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)