ჩამოტვირთეთ S3 ობიექტები Python- ით და Boto 3-ით

ამ პოსტში ვაჩვენებთ თუ როგორ უნდა ჩამოტვირთოთ ფაილები და სურათები aws S3 ვედროდან Python და Boto 3 ბიბლიოთეკის გამოყენებით.

Boto არის Python- ის AWS SDK. ის უზრუნველყოფს მარტივად გამოსაყენებელ ფუნქციებს, რომლებსაც შეუძლიათ ურთიერთქმედება AWS სერვისებთან, როგორიცაა EC2 და S3 თაიგულები.



ჩამოტვირთეთ S3 ობიექტები Python- ით და Boto 3-ით

შემდეგ მაგალითში, ჩვენ გადმოვწერეთ ერთი ფაილი მითითებული S3 ვედროდან.


პირველ რიგში უნდა შევქმნათ S3 კლიენტი | | + + _ |.

boto3.client(s3)

| | + _ | მეთოდი იღებს სამ პარამეტრს:


პირველი პარამეტრი არის ვედროის სახელი S3- ში. მეორე არის ფაილი (სახელი და გაფართოება), რომლის ჩამოტვირთვაც გვინდა და მესამე პარამეტრი არის ფაილის სახელი, რომლის შენახვაც გვინდა.



ჩამოტვირთეთ ყველა 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)


ჩამოტვირთეთ ყველა ობიექტი ქვე საქაღალდე S3 Bucket- ში

შემდეგ კოდში ნაჩვენებია თუ როგორ უნდა ჩამოტვირთოთ ფაილები, რომლებიც S3 ვედროშია ქვე საქაღალდეში.


დავუშვათ, რომ ფაილები მოცემულია შემდეგ უჯრაში და მდებარეობაში:

download_file

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)

BUCKET_NAME = 'images'

გამოყენებული ლიტერატურა

Boto 3 დოკუმენტაცია


საინტერესო სტატიები