[英]How do you perform a credentialed download from s3 using boto3 without saving a file?
It is simple to perform a credentialed download from s3 to a file using 使用以下命令从s3到文件执行凭证下载很简单
import boto3
s3 = boto3.resource('s3')
def save_file_from_s3(bucket_name, key_name, file_name):
b = s3.Bucket(bucket_name)
b.download_file(key_name, file_name)
It is easy to download from s3 to a file-like object using 使用s3可以很容易地将其下载到类似文件的对象
import from StringIO import StringIO
import urllib
file_like_object = StringIO(urllib.urlopen(url).read())
(see How do I read image data from a URL in Python? ) (请参阅如何在Python中从URL读取图像数据? )
But how do you perform a credentialed download from s3 to a file-like object? 但是,如何执行从s3到类似文件的对象的凭据下载?
You just need to make a call to s3.Bucket.Object.get
: 您只需要调用s3.Bucket.Object.get
:
import boto3
s3 = boto3.resource('s3')
# obj = s3.Object(bucket_name, key_name).get()
bucket = s3.Bucket(bucket_name)
obj = bucket.Object(key_name).get()
body = obj.get('Body')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.