我想使用预签名的 url 将文件上传到 S3
首先我使用 url_for(:write) 创建一个签名 url
s3object = S3.buckets['myBucket'].objects['someFolder/testFile.txt']
url = s3object.url_for(:write) #
我得到了预期的 url。
https://s3.amazonaws.com/myBucket/someFolder/testFile.txt?AWSAccessKeyId=AKJFGKJASGK......
但是现在我想使用这个 url 上传一些东西 我假设有一种方法可以从该 url 获取 s3 对象,我可以在该 url 上使用“write”方法。
类似obj = getObjectFromUrl(url)
有这样的方法吗?
如果没有,我应该如何使用此 url 将内容上传到 s3?
编辑:我可能应该解释一下。 我创建 URL 是为了测试。 当我处理它时,我将只有 URL。 仅使用 URL,我将不得不上传一个文件。
最佳答案
根据当前适用于 Ruby 的 AWS SDK 文档,建议的方法是简单地在您的 s3 对象上调用 read。如果你已经有了 s3 对象,你应该能够直接从对象本身读取。此外,如果您希望流式传输读取的文件,还有一种流式下载方法。 AWS S3 Object Documentation
obj.write('abc')
puts obj.read
#=> abc
关于ruby - 使用 Ruby 写入 AWS S3 预签名 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23515255/