4

インターネットのどこかにあるオブジェクトを、最初にダウンロードしてからS3にアップロードせずに、AmazonS3に配置する方法を見つけようとしています。それは基本的に可能ですか?

Node.jsSDKを使用しています。理想的には、次のようなことをしたいと思います。

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");
});
4

2 に答える 2

5

ソースがすでにS3のどこかにある場合は実行できますが、他のリソースの場合は実行できません。ですから、あなたの例のユースケースが求めることを行うことはできません。

アップロードする前に、データを完全にダウンロードせずに、URLからS3にデータを移動できます。すべてのバイトはまだあなたが持っているいくつかのマシンを通過する必要がありますが、一度にチャンクを取得してから置くことができます。

S3 API全体がここに文書化されており、すべての操作をチェックして、これを行うものがないことを確認できます。

于 2013-03-09T22:30:42.720 に答える
2

このようなものは、PHP2SDKで機能します。

$aws_transfer = $s3->PutObject( array(
    'Bucket' => 'bucket', 
    'Key' => $unique_file_name,
    'Body' => \Guzzle\Http\EntityBody::factory( file_get_contents('http://www.example.com/file.flv') ),
) );
于 2013-04-12T18:36:56.533 に答える