Utilizza Cloud Storage

Se la tua app deve leggere e scrivere file durante il runtime o pubblicare file come film, 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 gratuiti.

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 i dati da Cloud Storage.

    Ti consigliamo di archiviare i nomi dei bucket Cloud Storage nelle variabili di ambiente della tua app anziché codificarli nell'app.

  2. Nella tua app, dichiara Cloud Storage come dipendenza procedendo nel seguente modo:

    Vai

    Utilizzo del comando go get cloud.google.com/go/storage. In alternativa, puoi dichiarare le dipendenze nel file go.mod della tua app. Scopri di più sulla specifica delle dipendenze.

    Utilizza la libreria client di Google Cloud per caricare o scaricare 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 della tua app.

    Utilizza la libreria client di Google Cloud per caricare o scaricare dati dai tuoi bucket.

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

    Node.js

    In app.yaml, aggiungi l'ID progetto al valore dell'ambiente GOOGLE_CLOUD_PROJECT. Quindi imposta il valore dell'ambiente GCLOUD_STORAGE_BUCKET sul nome del bucket Cloud Storage che hai creato in precedenza.

    Aggiungi @google-cloud/storage al file package.json dell'app. Scopri di più sulla specifica delle dipendenze.

    Utilizza la libreria client di Google Cloud per caricare o scaricare 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 sull'esecuzione e sul 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 di flusso per la tua app. Poi utilizza il protocollo gs per leggere e scrivere file.

    Vedi un esempio di registrazione e utilizzo del wrapper del flusso.

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

    Python

    Aggiungi google-cloud-storage al file requirements.txt dell'app. Scopri di più sulla specifica delle dipendenze.

    Utilizza la libreria client di Google Cloud per caricare o scaricare dati dai tuoi bucket.

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

    Ruby

    Aggiungi google-cloud-storage al Gemfile della tua app. Scopri di più sulla specifica delle dipendenze.

    Utilizza la libreria client di Google Cloud per caricare o scaricare 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 gratuitamente i primi 5 GB di spazio di archiviazione. 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 che supera 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 l'archiviazione temporanea quando esegue il deployment di nuove versioni dell'app. Questo bucket, denominato staging.project-id.appspot.com, è destinato all'uso esclusivo di App Engine. Le app non possono interagire con questo bucket.

Imposta autorizzazioni bucket

Il account di servizio associato alla tua app deve disporre delle autorizzazioni per leggere e scrivere nei bucket del tuo progetto. Per scoprire quali autorizzazioni sono richieste, consulta Ruoli IAM per Cloud Storage.

In genere, il account di servizio associato alla tua app è il service account App Engine predefinito.

A seconda della configurazione della policy dell'organizzazione, al service account predefinito potrebbe essere assegnato automaticamente il ruolo Editor nel progetto. Ti consigliamo vivamente di disattivare la concessione automatica dei ruoli forzando l'applicazione del vincolo iam.automaticIamGrantsForDefaultServiceAccounts della policy dell'organizzazione. Se hai creato la tua organizzazione dopo il 3 maggio 2024, questo vincolo viene imposto per impostazione predefinita.

Se disattivi la concessione automatica dei ruoli, devi decidere quali ruoli concedere ai service account predefiniti, quindi concedere personalmente questi ruoli.

Se il service account predefinito dispone già del ruolo Editor, ti consigliamo di sostituire il ruolo Editor con ruoli meno permissivi.Per modificare in sicurezza i ruoli del service account, 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, vedi Impostare le 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 Cloud Storage devono essere inviate su internet a un bucket Cloud Storage effettivo.

Prezzi, quote e limiti

Non vengono addebitati costi per la larghezza di banda associati alle chiamate della libreria client di Cloud Storage a Cloud Storage. Tuttavia, sono previsti costi operativi. Inoltre, le chiamate vengono conteggiate ai fini della quota di recupero URL in quanto la libreria utilizza il servizio di recupero URL per interagire con Cloud Storage.

Tieni presente che Cloud Storage è un servizio a pagamento; ti verrà addebitato un costo in base al listino prezzi di Cloud Storage.