您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用Boto库生成临时URL以将文件上传到Amazon S3?

如何使用Boto库生成临时URL以将文件上传到Amazon S3?

我花了一些时间对此进行试验,这就是我所发现的。

>>> import boto
>>> c =boto.connect_s3()
>>> fp = open('myfiletoupload.txt')
>>> content_length = len(fp.read())
>>> c.generate_url(300, 'PUT', 'test-1332789015', 'foobar', headers={'Content-Length': str(content_length)}, force_http=True)
'http://test-1332789015.s3.amazonaws.com/foobar?Signature=oUARG45mR95utXsiQYRJNiCI4x4%3D&Expires=1333731456&AWSAccessKeyId=AKIAJOTCCJRP4C3NSMYA&Content-Length=16'

然后,我可以使用curl将文件放置到该URL上,如下所示:

$ curl --request PUT --upload-file myfiletoupload.txt "http://test-1332789015.s3.amazonaws.com/foobar?Signature=oUARG45mR95utXsiQYRJNiCI4x4%3D&Expires=1333731456&AWSAccessKeyId=AKIAJOTCCJRP4C3NSMYA&Content-Length=16"

这导致文件上传到存储桶。因此,似乎有可能。您可能想看看是否可以计算content- md5值并将其包含在标头中,但是您还必须弄清楚如何获取curl来发送该标头。另外,您应该能够通过HTTPS而不是HTTP进行这项工作,但是我还没有尝试过。

其他 2022/1/1 18:47:05 有432人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶