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.

Quando crei un'app, App Engine crea un bucket predefinito. Questo bucket fornisce i primi 5 GB di spazio di archiviazione senza costi e include una quota senza costi 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 senza costi.

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

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

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

    Vai

    Utilizzando il 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 dati dai 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 dati dai bucket.

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

    Node.js

    In app.yaml, aggiungi l'ID progetto al valore di ambiente GOOGLE_CLOUD_PROJECT. Quindi imposta il valore di 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 bucket.

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

    Consulta il README.md file 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. Quindi utilizza il protocollo gs per leggere e scrivere file.

    Visualizza un esempio di registrazione e utilizzo del wrapper di 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 bucket.

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

    Ruby

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

    Utilizza la libreria client di Google Cloud per caricare o scaricare dati dai 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 i primi 5 GB di spazio di archiviazione senza costi. Il bucket predefinito include anche una quota senza costi per le operazioni di I/O di Cloud Storage. Per maggiori 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

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 da parte 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 account di servizio 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 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 del 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 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 addebiti per la larghezza di banda associati alle chiamate della libreria 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 URL fetch quota , poiché 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 .