Se la tua app PHP 5 deve leggere e scrivere file durante il runtime o pubblicare file come filmati, immagini o altri contenuti statici, ti consigliamo di utilizzare un bucket Cloud Storage.
App Engine crea un bucket predefinito quando crei un'app. Questo bucket fornisce i primi 5 GB di spazio di archiviazione gratuitamente e include una quota gratuita per le operazioni di I/O di Cloud Storage. Puoi creare altri bucket Cloud Storage, ma solo il bucket predefinito include i primi 5 GB di spazio di archiviazione gratuito.
Uso di Cloud Storage con App Engine
Per utilizzare un bucket Cloud Storage da un'app App Engine:
Visualizzare i nomi dei bucket esistenti nel tuo progetto App Engine. Specificherai questi nomi quando carichi o scarichi dati da Cloud Storage.
Ti consigliamo di archiviare i nomi dei tuoi bucket Cloud Storage Nelle variabili di ambiente della tua app anziché doverli codificare nella tua app.
Nell'app, dichiara Cloud Storage come dipendenza aggiungendo
google/cloud-storage
al filecomposer.json
dell'app ed eseguendocomposer install
dalla directory dell'app. Scopri di più su composer.Registra
Google\Cloud\Storage\StorageClient
come un wrapper stream per la tua app. quindi utilizza il protocollogs
per leggere e scrivere i file.Guarda un esempio di registrazione e utilizzo dello stream wrapper.
In alternativa, puoi utilizzare direttamente la libreria client Google Cloud.
Utilizzo del bucket predefinito
Quando crei un'app, App Engine crea un bucket predefinito che fornisce i primi 5 GB di spazio di archiviazione gratuitamente. Il bucket predefinito include anche una quota gratuita per le operazioni di Cloud Storage I/O. Per ulteriori dettagli, consulta la pagina Prezzi, quote e limiti. Ti verrà addebitato lo spazio di archiviazione oltre il limite di 5 GB.
Il nome del bucket predefinito ha il seguente formato:
project-id.appspot.com
App Engine crea anche un bucket che utilizza per lo stoccaggio temporaneo quando esegue il deployment di nuove versioni dell'app. Questo bucket, denominato
staging.project-id.appspot.com
, è destinato esclusivamente all'uso da parte di
App Engine. Le app non possono interagire con questo bucket.
Impostazione delle autorizzazioni per bucket e oggetti
L'account di servizio associato alla tua app deve disporre delle autorizzazioni di lettura e scrittura nei bucket del tuo progetto. Per sapere quali sono le autorizzazioni necessarie, vedi Ruoli IAM per Cloud Storage.
In genere, l'account di servizio associato alla tua app è l'account di servizio App Engine predefinito.
A seconda della configurazione dei criteri dell'organizzazione, all'account di servizio predefinito potrebbe essere assegnato automaticamente il ruolo Editor nel progetto. Ti consigliamo vivamente di disabilitare la concessione automatica del ruolo entro il giorno
applicazione del criterio dell'organizzazione iam.automaticIamGrantsForDefaultServiceAccounts
di blocco. Se hai creato la tua organizzazione dopo il 3 maggio 2024,
viene applicato per impostazione predefinita.
Se disattivi la concessione automatica dei ruoli, devi decidere quali ruoli concedere agli account di servizio predefiniti, quindi concedere personalmente questi ruoli.
Se l'account di servizio predefinito ha già il ruolo Editor, ti consigliamo di sostituire il valore Ruolo di Editor con ruoli meno permissivi. Per modificare in sicurezza i ruoli dell'account di servizio, utilizza Policy Simulator per vedere l'impatto della modifica, quindi concedi e revoca i ruoli appropriati.
Per informazioni su come consentire ad altri utenti, app o progetti di accedere a un bucket e ai relativi contenuti, consulta Impostare le autorizzazioni dei bucket e Impostare le autorizzazioni degli oggetti.
Utilizzo di Cloud Storage con il server di sviluppo locale
Il server di sviluppo locale App Engine non emula Cloud Storage, quindi tutte le richieste di Cloud Storage devono essere inviate tramite internet a un bucket Cloud Storage effettivo.
Prezzi, quote e limiti
Non vengono addebitati costi di larghezza di banda per le chiamate alla libreria client di Cloud Storage. Tuttavia, ci sono costi operativi. Inoltre, le chiamate vengono conteggiate ai fini della tua quota di recupero degli URL poiché la libreria utilizza il servizio di recupero degli URL per interagire con Cloud Storage.
Tieni presente che Cloud Storage è un servizio a pagamento; ti verrà addebitato un costo in base alla Listino prezzi.