【问题标题】:upload file from url to s3 bucket将文件从 url 上传到 s3 存储桶
【发布时间】:2018-02-07 10:10:59
【问题描述】:

我有一个在 Heroku 中运行的 nodejs 程序,它为我提供了文件的 URL。这些文件需要存储在 s3 存储桶中。

据我了解,无法将文件从 url 直接上传到 s3 存储桶。

您建议我如何将文件从 URL 获取到 s3 存储桶?我已经看到有关使用 EC2 实例的讨论,但如果可能的话,我想避免这种情况。无论如何只使用heroku和S3来做到这一点?

【问题讨论】:

  • 最终您需要从 URL 下载并上传到 S3。我相信这可以在 Heroku 中完成,但您可能必须编写代码才能做到这一点。
  • @MarkB 这有助于在将文件保存到 heroku 后将文件上传到 S3,但我仍然很难将文件从 url 上传到 heroku。
  • 您需要流式传输它。使用我链接的示例打开带有 URL 的流并将其通过管道传输到 S3。这样您就不必写入本地磁盘。

标签: node.js amazon-web-services heroku amazon-s3


【解决方案1】:

我知道这被标记为 node-js,但如果有人需要这个 Ruby 的方法(Ruby AWS SDK v3):

obj = Aws::S3::Object.new(bucket_name: 'target-bucket', key: 'target-key')
obj.upload_stream do |write_stream|
  IO.copy_stream(URI.open('http://example.com/file.ext'), write_stream))
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-14
    • 2018-04-25
    • 2017-03-02
    • 2021-07-17
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多