使用python上传和下载文件

时间:2018-05-25 10:56:01

标签: python amazon-s3

我正在为我的计划寻找建议:

我程序的一部分会生成一个我需要上传到云端的.csv文件。本质上,程序应该将.csv文件上传到云端并返回该位置的URL(csv_url)

我程序的另一部分必须使用带有wget的csv_url来下载此文件。

我该如何解决这个问题?将文件上传到S3存储桶是否适合我?在这种情况下如何返回合并网址?除了s3存储桶还有其他媒介我可以尝试上传我的文件吗?任何建议都会非常有帮助。

2 个答案:

答案 0 :(得分:0)

尝试boto3 library from Amazon,它具有您想要做的所有功能

  

S3,GET / POST / PUT / DELETE / LIST。

PUT示例 -

 # Upload a new file
 data = open('test.jpg', 'rb')
 s3.Bucket('my-bucket').put_object(Key='test.jpg', Body=data)

答案 1 :(得分:0)

是的,将文件上传到AWS s3肯定会对您有用,而您不需要其他任何内容,如果您想使用python执行此操作,则非常简单

import boto3
s3 = boto3.client('s3')
s3.upload_file('images/4.jpeg', 'mausamrest', 'test/jkl.jpeg',ExtraArgs={'ACL': 'public-read'})

其中 mausamrest 是存储桶,而 test / jkl.jpeg keyname ,或者您可以在s3中说 filename

这就是你将如何获得你的网址

https://s3.amazonaws.com/mausamrest/test/jkl.jpeg

s3.amazonaws.com/bucketname/keyname这是您的对象网址的格式

在我的情况下,图像在浏览器中打开,因为我已经完成了那种事情,在您的情况下,您的csv将被下载