6

たとえば、リソースリンクを指定します。

http://www.google.com/images/srpr/logo3w.png

そのpngをS3に直接ダウンロードする方法はありますか(できればBotoを使用して)?もしそうなら、これはどのように行われますか?

4

2 に答える 2

10

urllib2 を使用してファイルをフェッチし、応答オブジェクトを使用して boto を使用して S3 に書き込むことができます。

from boto.s3.connection import S3Connection
from boto.s3.key import Key
import urllib2

request = urllib2.Request('http://www.google.com/images/srpr/logo3w.png')
response = urllib2.urlopen(request)

conn = S3Connection("MYAWSID", "MYAWSSECRET")
bucket = conn.create_bucket('MyBucket')
k = Key(bucket)
k.name = "logo3w"
k.set_contents_from_string(response.read(), {'Content-Type': response.info().gettype()})

パッケージがない場合は、PIP からインストールできます。

pip install urllib2_file
pip install boto
于 2013-03-10T18:31:48.450 に答える
8

「S3 へのダウンロード」は暗黙のうちに「ダウンロードしてから S3 にアップロードする」ことを意味します。アップロードを手動で行うか、boto のようなスクリプトやライブラリを使用するかは関係ありません。

スクリプトまたはライブラリ (boto) を使用する場合、イメージが実行されているシステム (ローカル ワークステーションまたはサーバー) に接続されたファイル システムにイメージをダウンロードし、AWS キーとライブラリを使用して S3 にアップロードします。

于 2013-02-24T08:48:03.047 に答える