Domanda

Ho bisogno di aiuto per ottenere tutti gli oggetti (tasti) da una cartella all'interno di un secchio su Google Cloud Storage.Attualmente, sto eseguendo quanto segue in Python:

GOOGLE_STORAGE = 'gs'
src_uri = boto.storage_uri(base_bucket_name + '/' + userid, GOOGLE_STORAGE)

print 'this is the src_uri: %s' % src_uri

for key in src_uri.get_all_keys():
  print 'this is the key: %s' % key
.

e ritorna:

this is the src_uri: gs://basebucket/user2
this is the key: <Key: basebucket,user1/key1>
this is the key: <Key: basebucket,user1/key2>
this is the key: <Key: basebucket,user1/key3>
this is the key: <Key: basebucket,user1/key4>
.

Sta restituendo l'intero elenco di tasti all'interno del secchio.Sebbene sia possibile filtrare i tasti appartenenti ad altri utenti manualmente, ciò non scala e c'è sicuramente un modo migliore per farlo.Fammi sapere se hai avuto qualche esperienza con questo.

È stato utile?

Soluzione

Se dai un'occhiata a Documentazione per GET_ALL_KYYS , è necessario superare gli argomenti generacodicitagCode e prefix.

Tuttavia, suggerirei di utilizzare il Funzione dell'elenco invece.Qualcosa del genere dovrebbe funzionare:

bucket_uri = boto.storage_uri(base_bucket_name, GOOGLE_STORAGE)
for object_uri in bucket_uri.list_bucket(prefix='/%s' % userid, delimiter='/'):
    print object_uri
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top