我正在研究从[(ngModel)]
数据库转储文件的过程,并且不希望在本地下载文件来处理数据。我看到Redshift
有一个Java
类可以完成我想要的操作,但我在StreamingObject
中没有看到类似内容。
答案 0 :(得分:13)
如果你有一个包含mybucket
密钥的beer
S3存储桶,下面是如何下载和获取值而不将其存储在本地文件中:
import boto3
s3 = boto3.resource('s3')
print s3.Object('mybucket', 'beer').get()['Body'].read()
答案 1 :(得分:0)
这可能与您想要执行的操作无关,但就我的情况而言,一件有效的事情是使用tempfile:
import tempfile
import boto3
import PyPDF2
bucket_name = 'my_bucket'
s3 = boto3.resource('s3')
temp = tempfile.NamedTemporaryFile()
s3.Bucket(bucket_name).download_file(key_name, temp.name)
pdfFileObj = open(temp.name,'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
[... do what you will with your file ...]
temp.close()