>>> from boto.s3.connection import S3Connection >>> conn = S3Connection() >>> bucket = conn.get_bucket('mybucket') >>> k = Key(bucket) >>> k.set_contents_from_filename('myfile') --------------------------------------------------------------------------- error Traceback (most recent call last) ... 857 raise BotoServerError(response.status, response.reason, body) 858 elif e: --> 859 raise e 860 else: 861 msg = 'Please report this exception as a Boto Issue!' error: [Errno 32] Broken pipeしかも、50KBぐらいのファイルだと問題ないのに、500KBくらいになるとダメ。東京リージョンのサーバから実行してるから、US の方が距離的に遠いし、時間がかかってタイムアウトとは考えにくい。しかも、500KBってそんなに大きいサイズではないし。
同じ事象で困っている人がいて、以下のページが参考になりました。
broken pipe error, non US-Standard region
解決方法としては、Connection を作成する時に、host を指定すること。
>>> from boto.s3.connection import S3Connection >>> conn = S3Connection(host='s3-ap-northeast-1.amazonaws.com')
指定するエンドポイントは、ここから参照できます。
Amazon Web Services Glossary - Regions and Endpoints
0 件のコメント:
コメントを投稿