Utilizza Cloud Storage

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 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 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. Specificherai questi nomi quando carichi o scarichi dati da Cloud Storage.

    Ti consigliamo di memorizzare i nomi dei bucket Cloud Storage nelle variabili di ambiente della tua app invece di codificarli in modo rigido nell'app.

  2. Nell'app, dichiara Cloud Storage come dipendenza nel seguente modo:

    Vai

    Utilizza il comando go get cloud.google.com/go/storage. In alternativa, puoi dichiarare le dipendenze nel file go.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 tuoi bucket.

    Per informazioni sulla pubblicazione di contenuti statici, vedi 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, vedi Archiviazione e pubblicazione di file statici.

    Node.js

    In app.yaml, aggiungi il tuo ID progetto al valore di ambiente GOOGLE_CLOUD_PROJECT. Imposta quindi il valore dell'ambiente GCLOUD_STORAGE_BUCKET sul nome del bucket Cloud Storage creato in precedenza.

    Aggiungi @google-cloud/storage al file package.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 tuoi bucket.

    Per informazioni sulla pubblicazione di contenuti statici, vedi Archiviazione e pubblicazione di file statici.

    Consulta il file README.md per istruzioni su come eseguire ed eseguire test localmente.

    PHP

    Aggiungi google/cloud-storage al file composer.json dell'app ed esegui composer install dalla directory dell'app. Scopri di più su come specificare le dipendenze.

    Registra Google\Cloud\Storage\StorageClient come wrapper dello stream per la tua app. Poi utilizza il protocollo gs per leggere e scrivere file.

    Guarda un esempio di registrazione e utilizzo dell'elemento wrapper stream.

    In alternativa, puoi utilizzare direttamente la libreria client Google Cloud.

    Python

    Aggiungi google-cloud-storage al file requirements.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 tuoi bucket.

    Per informazioni sulla pubblicazione di contenuti statici, vedi Archiviazione e pubblicazione di file statici.

    Ruby

    Aggiungi google-cloud-storage a Gemfile 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 tuoi bucket.

    Per informazioni sulla pubblicazione di contenuti statici, vedi 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. 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.

Impostare le autorizzazioni del bucket

L'account di servizio associato alla tua app deve disporre delle autorizzazioni di lettura e scrittura nei bucket del tuo progetto. Per scoprire quali autorizzazioni sono richieste, consulta 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 delle norme dell'organizzazione, all'account di servizio predefinito potrebbe essere assegnato automaticamente il ruolo Editor nel progetto. Ti consigliamo vivamente di disattivare la concessione automatica dei ruoli applicando il vincolo iam.automaticIamGrantsForDefaultServiceAccounts delle norme dell'organizzazione. Se hai creato la tua organizzazione dopo il 3 maggio 2024, questo vincolo 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 dispone già del ruolo Editor, ti consigliamo di sostituire il ruolo 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.

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, sono previste commissioni operative. Inoltre, le chiamate vengono conteggiate ai fini della 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 per utilizzo; ti verrà addebitato l'importo in base al listino prezzi di Cloud Storage.