የኤስ 3 ነገሮችን በፓይዘን እና በቦቶ 3 ያውርዱ

በዚህ ልኡክ ጽሁፍ ውስጥ Python እና Boto 3 ቤተ-መጽሐፍት በመጠቀም ፋይሎችን እና ምስሎችን ከ aws S3 ባልዲ እንዴት ማውረድ እንደሚችሉ ምሳሌዎችን እናሳያለን ፡፡

ቦቶ ለ ‹Python› AWS SDK ነው ፡፡ እንደ EC2 እና S3 ባልዲ ካሉ የ ‹AWS› አገልግሎቶች ጋር መስተጋብር ሊፈጥር የሚችል ተግባራትን ለመጠቀም ቀላል ይሰጣል ፡፡



ዳውንሎድ S3 ዕቃዎችን ከፓይዘን እና ቦቶ 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 ሰነድ