2012-10-13 2 views
5

Mi chiedo come collego boto a fakes3 per i test di integrazione.Come connettere boto con fakes3

Sono attualmente in esecuzione fakes3 in questo modo:

fakes3 -r fakes3 -p 4567 

e il tentativo di connettersi a S3 e la creazione di un secchio in ipython come questo:

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

si blocca Questo solo. Qualcuno può darmi un esempio di connessione a fakes3 da boto?

risposta

5

Secondo questa (https://github.com/jubos/fake-s3/blob/master/test/botocmd.py) dai test fakes3, probabilmente vuole qualcosa di simile:

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

In realtà, avete un paio di errore di battitura e calling_format deve essere chiamata come questo 's3conn = S3Connection (access_key_id, secret_access_key, is_secure = False porta = 4567, host = 'localhost', calling_format = OrdinaryCallingFormat()) ' –

+0

Grazie, ho modificato per correggere. Spero sia corretto ora. – garnaat

0

che questo accada a me in un mac e ho appena realizzato che fakes3 non ha avuto il permesso di creare i file . Così mi sono imbattuto sudo fakes3 -r/mnt/fakes3_root -p 4567 & e create_bucket e get_all_buckets funzionato bene

+0

quale chiave di accesso e segreto hai usato per 'fakes3' –

+0

FakeS3 non si cura di quali credenziali tu gli dai. Tuttavia ho notato che quando non si specifica alcuna credenziale, Boto tenterà di ottenere le credenziali dal servizio di metadati dell'istanza di Amazon e fallirà al di fuori di EC2. Specificare credenziali fasulle è un modo per impedirlo. – xolox