Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在不保存文件的情况下使用boto3从s3执行认证下载?_Python_Amazon S3_Boto3 - Fatal编程技术网

Python 如何在不保存文件的情况下使用boto3从s3执行认证下载?

Python 如何在不保存文件的情况下使用boto3从s3执行认证下载?,python,amazon-s3,boto3,Python,Amazon S3,Boto3,使用以下命令执行从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) 使用 import from StringIO import StringIO import urllib f

使用以下命令执行从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)
使用

import from StringIO import StringIO
import urllib

file_like_object = StringIO(urllib.urlopen(url).read())
(见附件)


但是如何执行从s3到类似文件的对象的认证下载?

您只需调用:


这将返回一个dictionary对象。但是我想要的是一个文件类型的对象,然后我可以处理它,例如用枕头。字典对象包含关键字“Body”下的文件对象。因此,要完成这个示例,只需使用f=obj['Body']
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')