Объектҳои S3 -ро бо Python ва Boto 3 зеркашӣ кунед

Дар ин вазифа мо намунаҳои зеркашии файлҳо ва тасвирҳоро аз сатили aws S3 бо истифодаи китобхонаи Python ва Boto 3 нишон медиҳем.

Бото AWS SDK барои Python аст. Он истифодаи вазифаҳоро осон мекунад, ки метавонанд бо хидматҳои AWS, ба монанди сатилҳои EC2 ва S3, ҳамкорӣ кунанд.



Dowload S3 Объектҳо бо Python ва Boto 3

Дар мисоли зерин, мо як файлро аз сатили мушаххаси 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 Ҳуҷҷатҳо