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:
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.
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 filego.moddell'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 ambienteGOOGLE_CLOUD_PROJECT. Quindi imposta il valore di ambienteGCLOUD_STORAGE_BUCKETsul nome del bucket Cloud Storage che hai creato in precedenza.Aggiungi
@google-cloud/storageal filepackage.jsondell'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.mdfile per istruzioni sull'esecuzione e sul test in locale.PHP
Aggiungi
google/cloud-storageal filecomposer.jsondell'app ed eseguicomposer installdalla directory dell'app. Scopri di più sulla specifica delle dipendenze.Registra
Google\Cloud\Storage\StorageClientcome wrapper di flusso per la tua app. Quindi utilizza il protocollogsper 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-storageal filerequirements.txtdell'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-storageal fileGemfiledell'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 .