কম্পিউটার

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


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

উদাহরণ

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

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

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

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

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

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

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

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

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

  • ধাপ 5: একটি পেজিনেটর তৈরি করুন৷ বস্তু যা get_database ব্যবহার করে সমস্ত ক্রলারের বিবরণ ধারণ করে

  • ধাপ 6: পেজিনেটকে কল করুন ফাংশন এবং max_items পাস করুন , পৃষ্ঠা_আকার এবং স্টার্টিং_টোকেন PaginationConfig হিসাবে

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

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

উদাহরণ কোড

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

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

def paginate_through_databases(max_items=None:int,page_size=None:int, starting_token=None:string):
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
   paginator = glue_client.get_paginator('get_databases')
      response = paginator.paginate(PaginationConfig={
         'MaxItems':max_items,
         'PageSize':page_size,
         'StartingToken':starting_token}
      )
   return response
   except ClientError as e:
      raise Exception("boto3 client error in paginate_through_databases: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in paginate_through_databases: " + e.__str__())
a = paginate_through_databases(2,5)
print(*a)

আউটপুট

{'DatabaseList': [
{'Name': 'aurora_glue_catalog', 'CreateTime': datetime.datetime(2020, 11, 18, 14, 24, 46, tzinfo=tzlocal())},
{'Name': 'custdb', 'CreateTime': datetime.datetime(2020, 8, 31, 20, 30, 9, tzinfo=tzlocal())}],
'NextToken': 'eyJsYXN0RXZhbHVhdGVkS2V5Ijp7IkhBU0hfS0VZIjp7InMiOiJuLjc4MjI1ODQ4NTg0MSJ9LCJSQU5HRV9LRVkiOnsicyI6ImRldjEtZnJlYV9lZGxfZ2x1ZV9kYXRhYmFzZSJ9fSwiZXhwaXJhdGlvbiI6eyJzZWNvbmRzIjoxNjE3NDUwNDQxLCJuYW5vcyI6ODcwMDAwMDB9LCJzaGFyZWRDb250ZXh0IjpmYWxzZSwidGFnQ29udGV4dCI6ZmFsc2V9',
'ResponseMetadata': {'RequestId': '3e1c4f54-d573-4ba9-9948-832273ecca02', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Fri, 02 Apr 2021 11:47:21 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '1617', 'connection': 'keep-alive', 'x-amzn-requestid': '3e1c4f54-d573-4ba9-9948-832273ecca02'}, 'RetryAttempts': 0}}

  1. AWS Glue Security-এ উপস্থিত সমস্ত নিরাপত্তা কনফিগারেশনের বিবরণ পেতে Boto3 কীভাবে ব্যবহার করবেন?

  2. AWS Glue Security-এ উপস্থিত একটি নির্দিষ্ট নিরাপত্তা কনফিগারেশনের বিশদ বিবরণ পেতে Boto3 কীভাবে ব্যবহার করবেন?

  3. Boto3 কিভাবে ব্যবহার করবেন AWS Glue Data Catalog থেকে সমস্ত ডাটাবেসের বিশদ বিবরণ পাবেন?

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