പൈത്തൺ, ബോട്ടോ 3 എന്നിവ ഉപയോഗിച്ച് എസ് 3 ഒബ്ജക്റ്റുകൾ ഡൺലോഡ് ചെയ്യുക

പൈത്തൺ, ബോട്ടോ 3 ലൈബ്രറി ഉപയോഗിച്ച് aws S3 ബക്കറ്റിൽ നിന്ന് ഫയലുകളും ഇമേജുകളും എങ്ങനെ ഡ download ൺലോഡ് ചെയ്യാമെന്നതിന്റെ ഉദാഹരണങ്ങൾ ഈ പോസ്റ്റിൽ ഞങ്ങൾ കാണിക്കുന്നു.

പൈത്തണിനായുള്ള AWS SDK ആണ് ബോട്ടോ. ഇസി 2, എസ് 3 ബക്കറ്റുകൾ പോലുള്ള എ‌ഡബ്ല്യുഎസ് സേവനങ്ങളുമായി സംവദിക്കാൻ‌ കഴിയുന്ന ഫംഗ്ഷനുകൾ‌ ഇത് ഉപയോഗിക്കാൻ എളുപ്പമാണ്.



പൈത്തൺ, ബോട്ടോ 3 എന്നിവ ഉപയോഗിച്ച് എസ് 3 ഒബ്‌ജക്റ്റുകൾ ഡ ow ലോഡുചെയ്യുക

ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ, നിർദ്ദിഷ്ട എസ് 3 ബക്കറ്റിൽ നിന്ന് ഞങ്ങൾ ഒരു ഫയൽ ഡ download ൺലോഡ് ചെയ്യുന്നു.


ആദ്യം നമ്മൾ boto3.client(s3) ഉപയോഗിച്ച് ഒരു എസ് 3 ക്ലയന്റ് സൃഷ്ടിക്കണം.

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 രീതി മൂന്ന് പാരാമീറ്ററുകൾ എടുക്കുന്നു:


ആദ്യത്തെ പാരാമീറ്റർ എസ് 3 ലെ ബക്കറ്റ് നാമമാണ്. രണ്ടാമത്തേത് ഞങ്ങൾ‌ ഡ download ൺ‌ലോഡുചെയ്യാൻ‌ താൽ‌പ്പര്യപ്പെടുന്ന ഫയലും (പേരും വിപുലീകരണവും) മൂന്നാമത്തെ പാരാമീറ്റർ‌ ഞങ്ങൾ‌ സംരക്ഷിക്കാൻ‌ താൽ‌പ്പര്യപ്പെടുന്ന ഫയലിന്റെ പേരാണ്.



ഒരു നിർദ്ദിഷ്ട ബക്കറ്റിൽ എല്ലാ എസ് 3 ഒബ്‌ജക്റ്റുകളും ഡൗൺലോഡുചെയ്യുക

ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ, ഒരു നിർദ്ദിഷ്ട എസ് 3 ബക്കറ്റിൽ ഞങ്ങൾ എല്ലാ വസ്തുക്കളും ഡ download ൺലോഡ് ചെയ്യുന്നു.

ഫയലുകൾ നേരിട്ട് ബക്കറ്റിന്റെ റൂട്ടിലാണെന്നും ഒരു ഉപ ഫോൾഡറിലല്ലെന്നും കോഡ് സ്‌നിപ്പെറ്റ് അനുമാനിക്കുന്നു.

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)


ഒരു ഉപ ഫോൾഡർ എസ് 3 ബക്കറ്റിൽ എല്ലാ ഒബ്‌ജക്റ്റുകളും ഡൗൺലോഡുചെയ്യുക

ഒരു എസ് 3 ബക്കറ്റിലെ ഉപ ഫോൾഡറിലുള്ള ഫയലുകൾ എങ്ങനെ ഡ download ൺലോഡ് ചെയ്യാമെന്ന് ഇനിപ്പറയുന്ന കോഡ് കാണിക്കുന്നു.


ഫയലുകൾ ഇനിപ്പറയുന്ന ബക്കറ്റിലും സ്ഥാനത്തിലും ഉണ്ടെന്ന് കരുതുക:

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 ഡോക്യുമെന്റേഷൻ


രസകരമായ ലേഖനങ്ങൾ