2012-10-13 12 views
5

Zastanawiam się, jak podłączyć Boto do fakes3 do testowania integracji.Jak połączyć boto z podróbkami3

Jestem aktualnie uruchomione fakes3 tak:

fakes3 -r fakes3 -p 4567 

i próbuje połączyć się z S3 i tworzenie wiadro w ipython tak:

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

To właśnie wisi. Czy ktoś może mi dać przykład połączenia z podróbkami3 z boto?

Odpowiedz

5

Zgodnie z tym (https://github.com/jubos/fake-s3/blob/master/test/botocmd.py) z testów fakes3, prawdopodobnie chcesz coś takiego:

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

Faktycznie, masz kilka literówkę i calling_format musi być wywołana w ten sposób 's3conn = S3Connection (access_key_id, secret_access_key, is_secure = False , port = 4567, host = 'localhost', calling_format = OrdinaryCallingFormat()) ' –

+0

Dzięki, poprawiłem. Mam nadzieję, że teraz jest poprawna. – garnaat

0

tego dopuścić do mnie mac i zdałem sobie sprawę, że fakes3 nie masz uprawnień do tworzenia plików . Więc wpadłem sudo fakes3 -r/mnt/fakes3_root -p 4567 & i create_bucket i get_all_buckets działało dobrze

+0

który klucz dostępu i tajny klucz używany do 'fakes3'' –

+0

FakeS3 nie obchodzi, jakie dane uwierzytelniasz. Zauważyłem jednak, że jeśli nie określisz żadnych poświadczeń, Boto spróbuje uzyskać poświadczenia z usługi metadanych instancji Amazon i zawiedzie poza EC2. Określenie fałszywych referencji jest jednym ze sposobów zapobiegania temu. – xolox