2012-10-13 20 views
5

統合テストのためにfoto3にbotoをどのように接続するのかと思います。botoとfake3との接続方法

fakes3 -r fakes3 -p 4567 

をし、S3に接続しようとすると、このようにipythonでバケットを作成:

私は現在とても似fakes3実行しているよ

s3conn = S3Connection(access_key_id, secret_access_key, port=4567, host='localhost') 
bucket = s3conn.create_bucket('test') 

はこれだけでハングアップします。誰かが私にbotoからfakes3に接続する例を教えてもらえますか?これによると

答えて

5

https://github.com/jubos/fake-s3/blob/master/test/botocmd.py)fakes3テストから、あなたはおそらくこのような何かしたい:

from boto.s3.connection import S3Connection, OrdinaryCallingFormat 

s3conn = S3Connection(access_key_id, secret_access_key, is_secure=False, port=4567, host='localhost', calling_format=OrdinaryCallingFormat()) 
+1

罰金を働いた走りました、port = 4567、host = 'localhost'、calling_format = OrdinaryCallingFormat()) ' –

+0

ありがとう、私は修正するために編集しました。うまくいけばそれは今正しいです。 – garnaat

0

をこのは、Macで私に起こると私はちょうどfakes3がファイルを作成する権限を持っていなかったことに気づきました。だから私はsudoのfakes3 -r/mntに/ fakes3_root -p 4567 &とcreate_bucketとget_all_bucketsは実際に、あなたはいくつかのタイプミスとcalling_formatを持って、この `s3conn = S3Connection(access_key_id、secret_access_key、is_secure = Falseのように呼ばれなければなりません

+0

あなたが 'fakes3'のために使用した鍵と秘密にアクセスします –

+0

FakeS3はあなたがそれを与える資格を気にしません。ただし、資格情報を指定しないと、BotoはAmazonインスタンスのメタデータサービスから資格情報を取得しようとし、EC2の外で失敗することに気付きました。これを防ぐための1つの方法として、偽の資格情報を指定する方法があります。 – xolox

関連する問題