1

私は常に Boto ライブラリを使用して Amazon の S3 サービスを使用していましたが、Python 3.4 プロジェクトのため、代わりにBotocoreを使用する必要がありました。私はほとんどのことを行う方法を理解しましたが、1 つの (かなり重要な) ことを行う方法を見つけることができないようです。URL の生成。

Boto では、単純に a を設定しKeygenerate_urlメソッドを起動します。ボトコアでこれを行うにはどうすればよいですか? ファイルをダウンロードして保存する方法は知っていますが、サーバーのパフォーマンスやその他の理由から、リンクを取得したいだけです。

4

1 に答える 1

0

tornado で boto を使用したかったので、同様の質問がありました。tornado_botocore と呼ばれる botocore の非同期バージョンがあり、有望と思われます。

S3Connection の generate_url メソッドを見てみましょう: https://github.com/boto/boto/blob/develop/boto/s3/connection.py

コードをざっと見てみると、メソッド自体はサーバー リクエストを必要とせず、ローカルで URL を生成するだけのようです。ネットワークに接続せずに次のコマンドを実行することで、サーバー リクエストがないことを確認できました。

import boto
client = boto.connect_s3()
client.generate_url(60,'GET','test','')

これは、この特定の boto API が tornado で安全に使用できることを意味します。残念ながら、これは Python 3.4 の問題には対応していません。

于 2014-12-18T20:41:09.567 に答える