Utilizza Cloud Storage

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:

  1. 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.

  2. 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 file go.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'ambiente GOOGLE_CLOUD_PROJECT. Imposta quindi il valore di ambiente GCLOUD_STORAGE_BUCKET sul nome del bucket Cloud Storage creato in precedenza.

    Aggiungi @google-cloud/storage al file package.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 file composer.json dell'app ed esegui composer 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 protocollo gs 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 file requirements.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 a Gemfile 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.