Informazioni sulle funzionalità di Google Cloud Storage

Bucket, oggetti e ACL

Il bucket è la posizione di archiviazione da cui leggi e in cui scrivi i file. Devi specificare sempre un bucket quando utilizzi la libreria client di App Engine per Cloud Storage. Il progetto può accedere a più bucket. Tieni presente che la libreria client non supporta la creazione di bucket.

Gli elenchi di controllo dell'accesso (ACL) controllano l'accesso ai bucket e agli oggetti in essi contenuti. Il progetto e l'app App Engine vengono aggiunti automaticamente all'ACL che consente l'accesso ai bucket quando crei un bucket nel tuo progetto.

Tieni presente che l'ACL che consente l'accesso al bucket è diverso dai potenzialmente numerosi ACL che regolano gli oggetti in quel bucket. Di conseguenza, l'app dispone di privilegi di lettura e scrittura per i bucket per i quali è attivata, ma detiene solo diritti completi sugli oggetti che crea nel bucket. L'accesso dell'app agli oggetti creati da altre app o persone è limitato ai diritti concessi all'app dall'autore degli oggetti.

Se un oggetto viene creato nel bucket senza un ACL definito in modo esplicito, utilizza l'ACL dell'oggetto predefinito assegnato al bucket dal proprietario del bucket. Se il proprietario del bucket non ha specificato un ACL dell'oggetto predefinito, l'ACL predefinito dell'oggetto è public-read, il che significa che chiunque abbia accesso al bucket consentito può leggere l'oggetto.

ACL e libreria client

Un'app che utilizza la libreria client non può modificare l'ACL del bucket, ma può specificare un ACL che controlla l'accesso agli oggetti che crea. Le impostazioni ACL disponibili sono descritte nella documentazione per il metodo open.

Modifica degli oggetti Cloud Storage

Una volta creato un oggetto in un bucket, non puoi modificarlo né aggiungervi elementi. Devi invece sovrascrivere l'oggetto con un nuovo oggetto con lo stesso nome che contiene le modifiche desiderate.

Cloud Storage e sottodirectory

La libreria client di App Engine per Cloud Storage ti consente di fornire delimitatori di sottodirectory quando crei un oggetto, ma non esistono sottodirectory vere in Cloud Storage. Una sottodirectory in Cloud Storage fa parte del nome file dell'oggetto.

Ad esempio, potresti presumere che la creazione di un oggetto somewhere/over/the/rainbow.mp3 consenta di archiviare il file rainbow.mp3 nella sottodirectory somewhere/over/the/. Il nome dell'oggetto è invece impostato su somewhere/over/the/rainbow.mp3.

È importante capire questo concetto quando si utilizza il filtro listbucket.

Se il comportamento dell'elenco riportato sopra non è ottimale per te, listbucket offre una modalità di emulazione della directory facoltativa. Per ulteriori informazioni, consulta listbucket.

Passaggi successivi