কম্পিউটার টিউটোরিয়াল

AWS Resource-এ থাকা S3-এ থেকে অবজেক্টের সকল ভার্সনের তালিকা পাওয়া


এই আর্টিকেলে আমরা দেখব কিভাবে AWS Resource-এ থাকা S3-এ থেকে অবজেক্টের সকল ভার্সনের তালিকা পাওয়া যায়।

উদাহরণ

S3-র Bucket_1/testfolder থেকে test.zip-এর সকল ভার্সন লিস্ট আউট করা।

সমস্যা: পাইথনে boto3 লাইব্রেরি ব্যবহার করে S3-এ থেকে অবজেক্টের সকল ভার্সনের তালিকা পাওয়া।

পদ্ধতি/অ্যালগরিদম

  • ধাপ ১: boto3 এবং botocore এক্সেপশন ইম্পোর্ট করুন এক্সেপশন হ্যান্ডল করার জন্য।

  • ধাপ ২: bucket_name আবশ্যিক প্যারামিটার।

  • ধাপ ৩: boto3 লাইব্রেরি ব্যবহার করে AWS সেশন তৈরি করুন।

  • ধাপ ৪: S3-এর জন্য AWS ক্লায়েন্ট তৈরি করুন।

  • ধাপ ৫: এখন, দেয়া বাকেটের অবজেক্টের সকল ভার্সন list_object_versions ফাংশন ব্যবহার করে লিস্ট আউট করুন এবং এক্সেপশন হ্যান্ডল করুন।

  • ধাপ ৬: উপরের ফাংশনের রেজাল্ট একটি ডিকশনারি যা দেয়া বাকেটের অবজেক্টের সকল ভার্সন ধারণ করে।

  • ধাপ ৭: অবজেক্টের সকল ভার্সনের তালিকা রিটার্ন করুন।

উদাহরণ কোড

AWS S3-এ থেকে অবজেক্টের সকল ভার্সনের তালিকা পেতে নিচের কোডটি ব্যবহার করুন:

import boto3
from botocore.exceptions import ClientError

def list_all_objects_version(bucket_name, prefix_name):
    session = boto3.session.Session()
    s3_client = session.client('s3')
    try:
        result = s3_client.list_object_versions(Bucket=bucket_name, Prefix=prefix_name)
    except ClientError as e:
        raise Exception("boto3 client error in list_all_objects_version function: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in list_all_objects_version function of s3 helper: " + e.__str__())
    return result

print(list_all_objects_version("Bucket_1", "testfolder"))

আউটপুট

{'ResponseMetadata': {'RequestId': 'H4VAGM3YP6', 'HostId': ***********, 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amz-id-2': ***************, 'x-amz-request-id': 'H4VAGM3YP6', 'date': 'Sat, 03 Apr 2021 08:04:08 GMT', 'content-type': 'application/xml', 'transfer-encoding': 'chunked', 'server': 'AmazonS3'}, 'RetryAttempts': 0}, 'IsTruncated': False, 'KeyMarker': '', 'VersionIdMarker': '', 'Versions': [{'ETag': '"705e2e674b04ca71"', 'Size': 1773, 'StorageClass': 'STANDARD', 'Key': 'testfolder/test.zip', 'VersionId': 'null', 'IsLatest': True, 'LastModified': datetime.datetime(2020, 12, 18, 14, 13, 18, tzinfo=tzutc()), 'Owner': {'DisplayName': 'AWS.Development', 'ID': '928*******************************}}], 'Name': 'Bucket_1', 'Prefix': 'testfolder', 'MaxKeys': 1000, 'EncodingType': 'url'}

  1. জাভা ব্যবহার করে সব MongoDB ডেটাবেসের তালিকা কীভাবে পাবেন?

  2. Matplotlib-এ কন্ট্যুর (Contour) থেকে কোঅর্ডিনেট পাওয়ার পদ্ধতি

  3. পাইথন: স্ট্রিং থেকে সব ডিজিট বের করা

  4. Matplotlib প্লট থেকে সব লেজেন্ড পাওয়া