【问题标题】:Import data from URL to Amazon S3将数据从 URL 导入到 Amazon S3
【发布时间】:2014-03-12 12:34:03
【问题描述】:

我有一个带有预签名 URL 的文件。 我想将该文件直接上传到我的 S3 存储桶,而无需先下载(我知道如何通过中间步骤执行此操作,但我想阻止它)。

有什么建议吗? 提前致谢

【问题讨论】:

  • 我认为这个问题是重复的,但目前我无法将手指放在重复上,所以答案如下。
  • @Michael-sqlbot 以下可能是您正在考虑的重复项,但我认为当前问题和您的答案更清楚地涵盖了该主题。 stackoverflow.com/questions/7586533/…

标签: amazon-web-services amazon-s3


【解决方案1】:

S3 不支持一种方法来完成您正在尝试做的事情。

S3 不支持本质上说“转到此 url 并从那里获取的任何内容,将其保存到我的存储桶中的以下键下”的请求类型。

这里唯一的选择是获取您想要的内容,然后上传。如果对象很大,并且您不想专用必要的磁盘空间,则可以从源部分获取它并使用分段上传将其部分上传......或者如果您试图在某处节省带宽,甚至与 S3 存储桶位于同一区域的非常小的 t1.micro 实例可能会为您执行获取和上传操作提供非常可接受的性能。


唯一的例外是您将对象从 S3 复制到 S3,并且该对象的大小低于 5 GB。在这种情况下,您向目标存储桶发送PUT 请求,并附带:

x-amz-copy-source: /source_bucket/source_object_key

这不是一个完整的“URL”,我假设您不是指从一个拥有两个存储桶的存储桶复制到另一个存储桶,或者您会更直接地问这个问题......但这是 S3 唯一类似于您正在寻找的行为。

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html

您不能在此处使用签名 URL...用于发送 PUT 请求的凭据必须具有获取和存储权限。

【讨论】:

  • 感谢您的回答。我真的很感激
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-12
  • 2012-04-26
  • 1970-01-01
  • 2018-09-12
  • 1970-01-01
  • 1970-01-01
  • 2016-11-07
相关资源
最近更新 更多