将来自远程资源的对象放入 Amazon S3

Moh*_*sen 4 amazon-s3 amazon-web-services

我正在尝试找到一种方法,将 Internet 中某处的对象放入 Amazon S3,而无需先下载它然后将其上传到 S3。从根本上可以吗?

我正在使用 Node.js SDK。理想情况下,我想做这样的事情:

s3.client.putObject({
  Bucket: 'my-own-bucket',
  Key: 'myKey',
  BodyFromRemoteRecource: 'https://www.google.com/images/srpr/logo4w.png'
}, function(err, data) {
  if (err)
    console.log(err)
  else
    console.log("Successfully uploaded data to myBucket/myKey");
});
Run Code Online (Sandbox Code Playgroud)

Cha*_*lke 5

如果源已经在 S3 上的某个位置,则可以执行此操作,但不能用于其他资源。所以不,你不能做你的示例用例要求的。

如果有帮助,您可以将数据从 URL 移动到 S3,而无需在上传前一步完全下载它。每个字节仍然必须通过您拥有的某些机器,但是您可以一次获取然后将其放入一个块。

此处记录整个 S3 API ,您可以检查每个操作并查看没有任何操作可以执行此操作。