Se la tua 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 gratuitamente i primi 5 GB di spazio di archiviazione 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:
Visualizza i nomi dei bucket esistenti nel progetto App Engine. Dovrai 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 della tua app, anziché doverli codificare 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ù su come specificare le dipendenze.Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta la sezione 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 bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta la sezione Archiviazione e pubblicazione di file statici.
Node.js
In
app.yaml
, aggiungi l'ID progetto al valore dell'ambienteGOOGLE_CLOUD_PROJECT
. Quindi imposta il valore dell'ambienteGCLOUD_STORAGE_BUCKET
sul nome del bucket Cloud Storage creato in precedenza.Aggiungi
@google-cloud/storage
al filepackage.json
dell'app. Scopri di più su come specificare le dipendenze.Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta la sezione Archiviazione e pubblicazione di file statici.
Per istruzioni sull'esecuzione e sui test in locale, consulta il file
README.md
.PHP
Aggiungi
google/cloud-storage
al filecomposer.json
della tua app e in esecuzionecomposer install
dalla directory dell'app. Scopri di più su come specificare le dipendenze.Registra
Google\Cloud\Storage\StorageClient
come wrapper del flusso 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 Google Cloud.
Python
Aggiungi
google-cloud-storage
al filerequirements.txt
dell'app. Scopri di più su come specificare le dipendenze.Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta la sezione Archiviazione e pubblicazione di file statici.
Ruby
Aggiungi
google-cloud-storage
aGemfile
della tua app. Scopri di più su come specificare le dipendenze.Utilizza la libreria client di Google Cloud per caricare o scaricare i dati dai bucket.
Per informazioni sulla pubblicazione di contenuti statici, consulta la sezione Archiviazione e pubblicazione di file statici.
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 I/O di Cloud Storage. Consulta Prezzi, quote e limiti per i dettagli. Ti verrà addebitato l'importo per lo spazio di archiviazione superiore al limite di 5 GB.
Il nome del bucket predefinito è nel seguente formato:
project-id.appspot.com
App Engine crea inoltre 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
, viene utilizzato solo da App Engine. Le app non possono interagire con questo bucket.
Imposta le autorizzazioni del bucket
L'account di servizio associato all'app richiede le autorizzazioni di lettura e scrittura nei bucket del tuo progetto. Per scoprire quali autorizzazioni sono 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 del criterio dell'organizzazione iam.automaticIamGrantsForDefaultServiceAccounts
. 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 personalmente questi ruoli.
Se l'account di servizio predefinito dispone già del ruolo Editor, ti consigliamo di sostituire il ruolo Editor 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 Impostare le autorizzazioni per i bucket.
Utilizzo di Cloud Storage con il server di sviluppo locale
Il server di sviluppo locale di App Engine non emula Cloud Storage, pertanto tutte le richieste 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 delle librerie client di Cloud Storage a Cloud Storage. Tuttavia, sono previsti addebiti per le operazioni. Inoltre, le chiamate vengono conteggiate nella quota di recupero degli URL, poiché la libreria utilizza il servizio di recupero URL per interagire con Cloud Storage.
Cloud Storage è un servizio a pagamento e ti verrà addebitato in base al listino prezzi di Cloud Storage.