我想使用预先签名的网址
将文件上传到S3首先,我使用url_for(:write)
创建一个签名的URLs3object = S3.buckets['myBucket'].objects['someFolder/testFile.txt']
url = s3object.url_for(:write) #
我按预期得到了网址。
https://s3.amazonaws.com/myBucket/someFolder/testFile.txt?AWSAccessKeyId=AKJFGKJASGK......
但现在我想使用此网址上传内容 我假设有一种方法可以从该网址获取一个s3对象,我可以使用该对象来编写'方法
像obj = getObjectFromUrl(url)
有这样的方法吗?
如果没有,我应该如何使用此网址将内容上传到s3?
编辑:我可能应该解释一下。 我创建了用于测试的URL。 当我将要处理它时,我将只有URL。 仅使用URL,我将不得不上传文件。答案 0 :(得分:1)
通过Ruby的当前AWS SDK文档,建议的方法是简单地在s3对象上调用read。如果您已经拥有s3对象,则应该能够直接从对象本身读取。此外,如果您希望流式传输文件读取,还有一种流式下载方法。 AWS S3 Object Documentation
obj.write('abc')
puts obj.read
#=> abc