Get_all_Keys dalla cartella all'interno del secchio su Google Cloud Storage
-
21-12-2019 - |
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.
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