Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन और बोटो के साथ S3 ऑब्जेक्ट डाउनलोड करें 3

इस पोस्ट में हम उदाहरण दिखाते हैं कि पायथन और बोटो 3 लाइब्रेरी का उपयोग करके aws S3 बकेट से फ़ाइलों और छवियों को कैसे डाउनलोड किया जाए।

बोटो पायथन के लिए एक एडब्ल्यूएस एसडीके है। यह ऐसे कार्यों का उपयोग करने में आसान प्रदान करता है जो ईसी 2 और एस 3 बाल्टी जैसी एडब्ल्यूएस सेवाओं के साथ बातचीत कर सकते हैं।

Python और Boto 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)

संदर्भ

Boto 3 दस्तावेज़ीकरण


  1. ह्यू कलरमैप और लेजेंड के साथ पायथन मैटप्लोटलिब में 3डी स्कैटरप्लॉट्स

    ह्यू कलरमैप और लेजेंड के साथ पायथन में 3डी स्कैटर प्लॉट प्लॉट करने के लिए, हम निम्नलिखित कदम उठा सकते हैं- आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें बनाएं x , y और z डेटा अंक numpy का उपयोग कर रहे हैं। एक नया आंकड़ा बनाएं या आंकड़ा () . का उपयोग करके मौजूदा आंकड़े को सक

  1. पायथन प्रोग्राम के साथ डेटा विश्लेषण और विज़ुअलाइज़ेशन

    इस ट्यूटोरियल में, हम pandas . जैसे मॉड्यूल का उपयोग करके डेटा विश्लेषण और विज़ुअलाइज़ेशन के बारे में जानेंगे और matplotlib पायथन . में . डेटा विश्लेषण चीजों के लिए पायथन एक उत्कृष्ट फिट है। मॉड्यूल स्थापित करें पांडा और matplotlib निम्न आदेशों का उपयोग करते हुए। pip install pandas pip install ma

  1. पायथन में फाइल ऑब्जेक्ट्स?

    पायथन में, जब भी हम फ़ाइलों को पढ़ने या लिखने की कोशिश करते हैं, तो हमें किसी पुस्तकालय को आयात करने की आवश्यकता नहीं होती है क्योंकि इसे मूल रूप से संभाला जाता है। फ़ाइल ऑब्जेक्ट प्राप्त करने के लिए सबसे पहले हम बिल्ट-इन ओपन फ़ंक्शन का उपयोग करेंगे। खुला फ़ंक्शन एक फ़ाइल खोलता है और एक फ़ाइल ऑब्ज