কম্পিউটার

Python এবং Boto 3 দিয়ে S3 অবজেক্ট ডাউনলোড করুন

এই পোস্টে আমরা পাইথন এবং বোটো 3 লাইব্রেরি ব্যবহার করে aws S3 বাকেট থেকে ফাইল এবং ছবি ডাউনলোড করার উদাহরণ দেখাই৷

Boto পাইথনের জন্য একটি AWS SDK। এটি ব্যবহার করা সহজ ফাংশন প্রদান করে যা AWS পরিষেবা যেমন EC2 এবং S3 বালতিগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে৷

পাইথন এবং বোটো 3 দিয়ে S3 অবজেক্ট ডাউনলোড করুন

নিম্নলিখিত উদাহরণে, আমরা একটি নির্দিষ্ট S3 বালতি থেকে একটি ফাইল ডাউনলোড করি৷

প্রথমে আমাদের boto3.client(s3) ব্যবহার করে একটি S3 ক্লায়েন্ট তৈরি করতে হবে .

import boto3

BUCKET_NAME = 'my_s3_bucket'
BUCKET_FILE_NAME = 'my_file.json'
LOCAL_FILE_NAME = 'downloaded.json'

def download_s3_file():
    s3 = boto3.client('s3')
    s3.download_file(BUCKET_NAME, BUCKET_FILE_NAME, LOCAL_FILE_NAME)

download_file পদ্ধতিতে তিনটি প্যারামিটার লাগে:

প্রথম প্যারামিটারটি হল S3-এ বালতির নাম৷ দ্বিতীয়টি হল যে ফাইলটি (নাম এবং এক্সটেনশন) আমরা ডাউনলোড করতে চাই এবং তৃতীয় প্যারামিটারটি হল সেই ফাইলটির নাম যা আমরা সংরক্ষণ করতে চাই৷

একটি নির্দিষ্ট বালতিতে সমস্ত S3 অবজেক্ট ডাউনলোড করুন

নিম্নলিখিত উদাহরণে, আমরা একটি নির্দিষ্ট S3 বালতিতে সমস্ত বস্তু ডাউনলোড করি।

কোড স্নিপেট অনুমান করে যে ফাইলগুলি সরাসরি বাকেটের রুটে রয়েছে এবং একটি সাব-ফোল্ডারে নয়৷

import boto3

def download_all_files():
    #initiate s3 resource
    s3 = boto3.resource('s3')
    # select bucket
    my_bucket = s3.Bucket('bucket_name')
    # download file into current directory
    for s3_object in my_bucket.objects.all():
        filename = s3_object.key
        my_bucket.download_file(s3_object.key, filename)

একটি সাব-ফোল্ডার S3 বালতিতে সমস্ত অবজেক্ট ডাউনলোড করুন

নিচের কোডটি দেখায় যে S3 বাকেটের একটি সাব-ফোল্ডারে থাকা ফাইলগুলি কীভাবে ডাউনলোড করতে হয়৷

ধরুন ফাইলগুলি নিম্নলিখিত বালতি এবং অবস্থানে রয়েছে:

BUCKET_NAME = 'images'

PATH = pets/cats/

import boto3
import os

def download_all_objects_in_folder():
    s3_resource = boto3.resource('s3')
    my_bucket = s3_resource.Bucket('images')
    objects = my_bucket.objects.filter(Prefix='pets/cats/')
    for obj in objects:
        path, filename = os.path.split(obj.key)
        my_bucket.download_file(obj.key, filename)

রেফারেন্স

বোটো 3 ডকুমেন্টেশন


  1. Python এবং Tkinter দিয়ে একটি কাউন্টডাউন টাইমার তৈরি করা হচ্ছে

  2. পাইথন ম্যাটপ্লটলিবে থ্রিডি স্ক্যাটারপ্লট হিউ কালারম্যাপ এবং কিংবদন্তি সহ

  3. পাইথন প্রোগ্রামের সাথে ডেটা বিশ্লেষণ এবং ভিজ্যুয়ালাইজেশন

  4. পাইথনে ফাইল অবজেক্ট?