সমস্যা বিবৃতি − ডাটাবেসের টেবিল সংজ্ঞা পুনরুদ্ধার করতে পাইথনে boto3 লাইব্রেরি ব্যবহার করুন।
উদাহরণ − একটি ডাটাবেস 'QA-পরীক্ষা' এবং 'নিরাপত্তা' হিসাবে টেবিলের সারণী সংজ্ঞা পুনরুদ্ধার করুন৷
এই সমস্যা সমাধানের জন্য অ্যাপ্রোচ/অ্যালগরিদম
ধাপ 1 − ব্যতিক্রমগুলি পরিচালনা করতে boto3 এবং botocore ব্যতিক্রমগুলি আমদানি করুন৷
৷ধাপ 2 − ডাটাবেস_নাম এবং টেবিল_নাম বাধ্যতামূলক পরামিতি। এটি প্রদত্ত টেবিলের সংজ্ঞা নিয়ে আসে।
ধাপ 3 - boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন। অঞ্চলের_নাম নিশ্চিত করুন ডিফল্ট প্রোফাইলে উল্লেখ করা আছে। যদি এটি উল্লেখ না থাকে, তাহলে স্পষ্টভাবে অঞ্চল_নাম পাস করুন সেশন তৈরি করার সময়।
পদক্ষেপ 4৷ − আঠার জন্য একটি AWS ক্লায়েন্ট তৈরি করুন৷
৷ধাপ 5 − এখন get_table ফাংশন ব্যবহার করুন এবং database_name পাস করুন DatabaseName এবং table_name হিসাবে নামের প্যারামিটার হিসাবে।
ধাপ 6 - এটি একটি প্রদত্ত টেবিলের সংজ্ঞা প্রদান করে। যদি টেবিলের একাধিক সংস্করণ থাকে তবে এটি সর্বদা টেবিলের বর্তমান / সর্বশেষ সংস্করণ থেকে বিশদ সংগ্রহ করে৷
পদক্ষেপ 7 − কাজ চেক করার সময় কিছু ভুল হলে জেনেরিক ব্যতিক্রম হ্যান্ডেল করুন।
উদাহরণ
একটি ডাটাবেসের সারণী সংজ্ঞা পুনরুদ্ধার করতে নিম্নলিখিত কোডটি ব্যবহার করুন −
boto3from botocore.exceptions import ClientErrordef retrieves_table_details(database_name, table_name) session =boto3.session.Session() glue_client =session.client('glue') চেষ্টা করুন:প্রতিক্রিয়া =glue_client.get_name=Data_beable name(Naabaseable name=Data_client. ) ই হিসাবে ClientError ব্যতীত প্রতিক্রিয়া ফেরত দিন:raise Exception("boto3 ক্লায়েন্ট এরর in retrieves_table_details:" + e.__str__()) ব্যতিক্রম ছাড়া e হিসাবে:raise Exception("retrieves_table_details এ অপ্রত্যাশিত ত্রুটি:" + e.__str__())মুদ্রণ( retrieves_table_details('QA-পরীক্ষা', 'নিরাপত্তা'))
আউটপুট
{'টেবিল':{'নাম':'নিরাপত্তা', 'ডেটাবেসের নাম':'QA-পরীক্ষা', 'মালিক':'মালিক', 'ক্রিয়েটটাইম':datetime.datetime(2020, 9, 10, 22 , 27, 24,tzinfo=tzlocal()), 'UpdateTime':datetime.datetime(2021, 2, 28, 10, 37,33, tzinfo=tzlocal()), 'LastAccessTime':datetime.datetime(2020, 9 , 10,22, 27, 24, tzinfo=tzlocal()), 'ধারণ':0, 'StorageDescriptor':{'Columns':[{'Name':'assettypecode', 'Type':'string'}, {'Name':'industrysector', 'Type':'string'}, {'Name':'securitycode', 'Type':'char'}, {'Name':'contractsize', 'Type':' string'}, {'Name':'conversionperiodenddate', 'Type':'string'}, {'Name':'conversionperiodstartdate', 'Type':'string'}, {'Name':'expirationdate', ' Type':'string'}, {'Name':'issuercountrycode', 'Type':'string'}, {'Name':'issuercountrydesc', 'Type':'string'},{'Name':' originalissuedate', 'Type':'string'}, {'Name':'securitynamelong', 'Type':'string'}, {'Name':'issueshortname', 'Type':'string'}, {' নাম':'gicssector', 'Type':'string'}, {'Name':'maturitydate', 'Type':' string'}, {'Name':'optioncode', 'Type':'string'}, {'Name':'optiontypename', 'Type':'string'}, {'Name':'paramount', ' Type':'string'}, {'Name':'priceindex', 'Type':'string'}, {'Name':'countrycoderisk', 'Type':'string'}, {'Name':' countrydescrisk', 'Type':'string'}, {'Name':'countrycode', 'Type':'string'}], 'Location':'s3://test/security/', 'InputFormat':'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat','OutputFormat':'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat','সংকুচিত':False, 'Number' -1, 'SerdeInfo':{'SerializationLibrary':'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe', 'প্যারামিটার':{'serialization.format':'1'}}, ' BucketColumns':[], 'SortColumns':[], 'প্যারামিটার':{'CrawlerSchemaDeserializerVersion':'1.0', 'CrawlerSchemaSerializerVersion':'1.0', 'UPDATED_BY_CRAWLER':'d81curage':'d 'শ্রেণীবিভাগ':'parquet', 'compressionType':'none', 'objectCount':'5', 'recordCount':'154800', 'sizeKey ':'20337230', 'typeOfData':'file'}, 'StoredAsSubDirectories':False}, 'PartitionKeys':[], 'TableType':'EXTERNAL_TABLE', 'প্যারামিটার':{'CrawlerSchemaDesion':'1. 'CrawlerSchemaSerializerVersion':'1.0', 'UPDATED_BY_CRAWLER':'security', 'averageRecordSize':'181', 'classification':'parquet', 'compressionType':'none', 'objectCount':'5dCountre' ':'154800', 'sizeKey':'20337230', 'typeOfData':'file'}, 'CreatedBy':'arn:aws:sts::************:অনুমান করা হয়েছে- role/glue-role/AWS-Crawler'},'ResponseMetadata':{'RequestId':'4c108dd5-***************76ac', 'HTTPStatusCode':200, 'HTTPHeaders ':{'date':'Mon, 01 Mar 202106:04:58 GMT', 'content-type':'application/x-amz-json-1.1', 'contentlength':'3882', 'connection':'কিপ-এলাইভ', 'x-amzn-requestid':'4c108dd5-********************676ac'}, 'RetryAttempts':0}}প্রে>