【问题标题】:Write to a AWS S3 pre-signed url using Ruby使用 Ruby 写入 AWS S3 预签名 url
【发布时间】:2014-05-07 10:27:44
【问题描述】:

我想使用预签名的 url 将文件上传到 S3

首先我使用 url_for(:write) 创建一个签名的 url

s3object = S3.buckets['myBucket'].objects['someFolder/testFile.txt']
url = s3object.url_for(:write) #

我得到了预期的网址。

https://s3.amazonaws.com/myBucket/someFolder/testFile.txt?AWSAccessKeyId=AKJFGKJASGK......

但现在我想用这个网址上传一些东西 我假设有一种方法可以从该 url 获取一个 s3 对象,我可以在该 url 上使用“write”方法。

类似obj = getObjectFromUrl(url)

有这样的方法吗?

如果没有,我应该如何使用这个 url 上传东西到 s3?

编辑:我可能应该解释一下。 我创建 URL 是为了测试。 当我处理它时,我将只有 URL。 单独使用 URL,我将不得不上传一个文件。

【问题讨论】:

标签: ruby amazon-s3


【解决方案1】:

通过当前适用于 Ruby 的 AWS 开发工具包文档,建议的方法是在您的 s3 对象上简单地调用 read。如果您已经拥有 s3 对象,您应该能够直接从对象本身读取。此外,如果您希望流式读取文件,还有一种流式下载的方法。 AWS S3 Object Documentation

obj.write('abc')
puts obj.read
#=> abc

【讨论】:

    猜你喜欢
    • 2019-07-27
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 2018-10-20
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多