2016-10-27 5 views
0

たとえば、画像へのURLリンクがあるとします:http://image.com。 Pythonを使用して、ローカルに保存することなくS3にイメージを直接アップロードすることは可能でしょうか?URLだけでAmazon S3にファイルをアップロードすることはできますか?

+0

他の誰かがイメージをホストしているのであれば、なぜそれを再ホストしたいですか? –

+0

私はそれをS3の中に保存して、保存されたすべての画像を私たち自身の利便性などに保つために、ちょうど中央の場所として保存したいと思っています。 S3のバケット(必ずしもURLである必要はありません)。 – javanewbie

+1

AFAIK S3を直接取得してリモートURLを読み取る方法はありません(あるバケットから別のバケットにコピーできますが、任意のURLからコピーすることはできません)。しかし、ローカルに保存する必要はありません。pythonコードを使用して['boto.s3.key.Key.set_contents_from_stream()'](http://boto.readthedocs.io/en /latest/ref/s3.html#boto.s3.key.Key)、チェックサム/ md5を実行する必要はなくなりますが、完全な整合性を確認することは犠牲になります。 – AChampion

答えて

0

Amazon S3にはリモートロケーションからファイルを取得するコマンドはありません。 APIリクエストでは、オブジェクトの作成中にファイルの内容を渡す必要があります。

あなたはS3バケットにファイルをアップロード、それをダウンロードしAWSラムダ関数を作成することができ、あなたはそれの前にAPIゲートウェイインタフェースを置くことができます。これにより、URLで1つのリクエストを行い、そのファイルをS3にコピーすることができます。

関連する問題