Se l'app 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 Cloud Storage I/O. Puoi creare altri bucket Cloud Storage, ma solo il bucket predefinito include i primi 5 GB di spazio di archiviazione gratuitamente.
Uso di Cloud Storage con App Engine
Per utilizzare un bucket Cloud Storage da un'app App Engine:
Visualizza i nomi dei bucket esistenti nel tuo progetto App Engine. Devi specificare questi nomi quando carichi o scarichi i dati da Cloud Storage.
Ti consigliamo di archiviare i nomi dei bucket Cloud Storage nelle variabili di ambiente dell'app anziché configurarli come hardcoded nell'app.
Nella tua app, dichiara Cloud Storage come dipendenza seguendo questi passaggi:
Go
Utilizzo del comando
go get cloud.google.com/go/storage
. In alternativa, puoi dichiarare le dipendenze nel filego.mod
dell'app. Scopri di più sulla specifica delle dipendenze.Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai tuoi bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta Archiviazione e pubblicazione di file statici.
Java
Aggiungi la libreria al file delle dipendenze dell'app.
Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai tuoi bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta Archiviazione e pubblicazione di file statici.
Node.js
In
app.yaml
, aggiungi il tuo ID progetto al valore dell'ambienteGOOGLE_CLOUD_PROJECT
. Imposta quindi il valore di ambienteGCLOUD_STORAGE_BUCKET
sul nome del bucket Cloud Storage creato in precedenza.Aggiungi
@google-cloud/storage
al filepackage.json
della tua app. Scopri di più sulla specifica delle dipendenze.Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai tuoi bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta Archiviazione e pubblicazione di file statici.
Consulta il file
README.md
per le istruzioni sull'esecuzione e sui test in locale.PHP
Aggiungi
google/cloud-storage
al filecomposer.json
dell'app ed eseguicomposer install
dalla directory dell'app. Scopri di più sulla specifica delle dipendenze.Registra
Google\Cloud\Storage\StorageClient
come wrapper stream per la tua app. Quindi utilizza il protocollogs
per leggere e scrivere file.Guarda un esempio di registrazione e utilizzo del wrapper stream.
In alternativa, puoi utilizzare direttamente la libreria client di Google Cloud.
Python
Aggiungi
google-cloud-storage
al filerequirements.txt
della tua app. Scopri di più sulla specifica delle dipendenze.Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai tuoi bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta Archiviazione e pubblicazione di file statici.
Ruby
Aggiungi
google-cloud-storage
aGemfile
della tua app. Scopri di più sulla specifica delle dipendenze.Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai tuoi bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta Archiviazione e pubblicazione di file statici.
Utilizzo del bucket predefinito
Quando crei un'app, App Engine crea un bucket predefinito che fornisce gratuitamente i primi 5 GB di spazio di archiviazione. Il bucket predefinito include anche una quota gratuita per le operazioni di Cloud Storage I/O. Per i dettagli, consulta Prezzi, quote e limiti. Ti verrà addebitato un costo per lo spazio di archiviazione superiore al limite di 5 GB.
Il nome del bucket predefinito ha il seguente formato:
project-id.appspot.com
Inoltre, App Engine crea un bucket che utilizza per l'archiviazione
temporanea quando esegue il deployment di nuove versioni dell'app. Questo bucket, denominato
staging.project-id.appspot.com
, è destinato esclusivamente all'utilizzo
da App Engine. Le app non possono interagire con questo bucket.
Imposta autorizzazioni bucket
L'account di servizio associato alla tua app richiede le autorizzazioni di lettura e scrittura nei bucket del progetto. Per conoscere le autorizzazioni necessarie, consulta Ruoli IAM per Cloud Storage.
In genere, l'account di servizio associato all'app è l'account di servizio predefinito di App Engine.
A seconda della configurazione dei criteri dell'organizzazione, all'account di servizio predefinito potrebbe essere concesso automaticamente il ruolo Editor per il progetto. Ti consigliamo vivamente di disabilitare la concessione automatica del ruolo
applicando il vincolo iam.automaticIamGrantsForDefaultServiceAccounts
del criterio dell'organizzazione. Se hai creato la tua organizzazione dopo il 3 maggio 2024, questo vincolo viene applicato per impostazione predefinita.
Se disabiliti la concessione automatica dei ruoli, devi decidere quali ruoli concedere agli account di servizio predefiniti e poi concedere questi ruoli autonomamente.
Se l'account di servizio predefinito ha già il ruolo Editor, ti consigliamo di sostituire quest'ultimo con ruoli meno permissivi. Per modificare in modo sicuro i ruoli dell'account di servizio, utilizza il Simulatore di criteri 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 suoi contenuti, consulta Impostazione delle autorizzazioni del bucket.
Utilizzo di Cloud Storage con il server di sviluppo locale
Il server di sviluppo locale di 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 sono previsti costi per la larghezza di banda associati alle chiamate della libreria client di Cloud Storage a Cloud Storage. Sono invece previsti costi operativi. Inoltre, le chiamate vengono conteggiate ai fini della quota di recupero URL, poiché la libreria utilizza il servizio di recupero URL per interagire con Cloud Storage.
Tieni presente che Cloud Storage è un servizio a pagamento; ti verranno addebitati dei costi in base al listino prezzi di Cloud Storage.