Un caso d'uso comune è rendere i file accessibili pubblicamente tramite il web. Puoi farlo nell'ambiente standard PHP 5 in uno dei seguenti modi:
- Pubblica i file in Google Cloud Storage da uno script: la tua app pubblica il file.
- Pubblica i file da Google Cloud Storage, che li pubblica direttamente.
- Pubblicazione dei file caricati con la tua app utilizzando il gestore statico in
app.yaml
.
Tieni presente che l'ultima metodologia non utilizza Cloud Storage.
Pubblicazione di file da uno script
Se vuoi pubblicare file dalla tua app, importa la classe CloudStorageTools
di App Engine:
Ora utilizza CloudStorageTools::serve per pubblicare il file da Google Cloud Storage:
In questo modo, lo sviluppatore può determinare l'identità dell'utente e assicurarsi che solo gli utenti autorizzati accedano al file. Lo svantaggio di questo approccio è che l'applicazione deve eseguire questo codice per pubblicare il file, il che consuma ore di istanza e comporta quindi un costo.
Pubblicazione di file direttamente da Google Cloud Storage
Esiste un modo più rapido e conveniente per pubblicare i file rispetto alla pubblicazione dall'app, come indicato sopra: pubblicarli direttamente da Cloud Storage tramite HTTP. I file devono essere configurati in modo da essere leggibili dagli utenti anonimi al momento della scrittura. Come mostrato nello snippet di seguito, imposta l'opzione stream acl
su public-read
.
Una volta scritto il file in Cloud Storage come pubblicamente leggibile, devi recuperare l'URL pubblico del file utilizzando CloudStorageTools::getPublicUrl.
Nell'esempio seguente, creiamo un file leggibile pubblicamente contenente alcuni numeri random, lo scriviamo in un bucket Cloud Storage e reindirizziamo a quel file da Cloud Storage.
Il limite di questo approccio è che non è possibile controllare chi può accedere al file, poiché è leggibile da chiunque.
Pubblicazione dei file caricati con la tua app
Questa opzione è descritta in modo completo nella sezione Esistono altri modi per leggere e scrivere file.