Cloud Storage for Firebase ti consente di caricare e condividere contenuti generati dagli utenti, come immagini e video, che ti consentono di creare contenuti multimediali avanzati nelle tue app. I tuoi dati vengono archiviati in un bucket di Google Cloud Storage , una soluzione di archiviazione di oggetti su scala exabyte con disponibilità elevata e ridondanza globale. Cloud Storage for Firebase ti consente di caricare in modo sicuro questi file direttamente dai dispositivi mobili e dai browser Web, gestendo facilmente le reti irregolari.
Prerequisiti
Se non lo hai già fatto, installa Firebase JS SDK e inizializza Firebase .
Crea un bucket Cloud Storage predefinito
Dal riquadro di navigazione della console Firebase , seleziona Archiviazione , quindi fai clic su Inizia .
Esamina i messaggi sulla protezione dei dati di Cloud Storage utilizzando le regole di sicurezza. Durante lo sviluppo, valuta la possibilità di impostare le tue regole per l'accesso pubblico .
Seleziona una posizione per il tuo bucket Cloud Storage predefinito.
Questa impostazione di posizione è la posizione predefinita della risorsa Google Cloud Platform (GCP) del tuo progetto. Tieni presente che questa posizione verrà utilizzata per i servizi GCP nel tuo progetto che richiedono un'impostazione della posizione, in particolare il tuo database Cloud Firestore e la tua app App Engine (necessaria se utilizzi Cloud Scheduler).
Se non riesci a selezionare una località, significa che il tuo progetto ha già una località di risorsa GCP predefinita. È stato impostato durante la creazione del progetto o durante l'impostazione di un altro servizio che richiede l'impostazione della posizione.
Se utilizzi il piano Blaze, puoi creare più bucket , ciascuno con la propria posizione .
Fai clic su Fatto .
Imposta l'accesso pubblico
Cloud Storage for Firebase fornisce un linguaggio di regole dichiarative che ti consente di definire come devono essere strutturati i tuoi dati, come devono essere indicizzati e quando i tuoi dati possono essere letti e scritti. Per impostazione predefinita, l'accesso in lettura e scrittura a Cloud Storage è limitato in modo che solo gli utenti autenticati possano leggere o scrivere dati. Per iniziare senza configurare l'autenticazione , puoi configurare le tue regole per l'accesso pubblico .
Ciò rende Cloud Storage aperto a chiunque, anche alle persone che non utilizzano la tua app, quindi assicurati di limitare nuovamente il tuo Cloud Storage quando imposti l'autenticazione.
Aggiungi l'URL del tuo bucket alla tua app
Se non è già incluso, devi aggiungere l'URL del bucket Cloud Storage all'oggetto di configurazione dell'app Firebase .
Vai alla dashboard di archiviazione nella console Firebase .
Fare clic sulla scheda File , quindi guardare nell'intestazione del visualizzatore di file.
Copia l'URL negli appunti. Di solito è nella forma
project-id .appspot.com
.Al tuo oggetto
firebaseConfig
nella tua app, aggiungi l'attributostorageBucket
con l'URL del tuo bucket:
Web version 9
import { initializeApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '' }; // Initialize Firebase const app = initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = getStorage(app);
Web version 8
import firebase from "firebase/app"; import "firebase/storage"; // TODO: Replace the following with your app's Firebase project configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... storageBucket: '[your-storage-bucket-url]' }; // Initialize Firebase firebase.initializeApp(firebaseConfig); // Initialize Cloud Storage and get a reference to the service const storage = firebase.storage();
Sei pronto per iniziare a utilizzare Cloud Storage!
Passo successivo? Scopri come creare un riferimento per Cloud Storage .
Impostazioni avanzate
Esistono alcuni casi d'uso che richiedono una configurazione aggiuntiva:
- Utilizzo di bucket Cloud Storage in più aree geografiche
- Utilizzo di bucket Cloud Storage in diverse classi di archiviazione
- Utilizzo di bucket Cloud Storage con più utenti autenticati nella stessa app
Il primo caso d'uso è perfetto se hai utenti in tutto il mondo e desideri archiviare i loro dati vicino a loro. Ad esempio, puoi creare bucket negli Stati Uniti, in Europa e in Asia per archiviare i dati per gli utenti in quelle regioni per ridurre la latenza.
Il secondo caso d'uso è utile se disponi di dati con modelli di accesso diversi. Ad esempio: puoi configurare un bucket multiregionale o regionale che archivia immagini o altri contenuti a cui si accede di frequente e un bucket nearline o coldline che archivia i backup degli utenti o altri contenuti a cui si accede di rado.
In uno di questi casi d'uso, ti consigliamo di utilizzare più bucket di Cloud Storage .
Il terzo caso d'uso è utile se stai creando un'app, come Google Drive, che consente agli utenti di avere più account di accesso (ad esempio, un account personale e un account di lavoro). Puoi utilizzare un'istanza dell'app Firebase personalizzata per autenticare ogni account aggiuntivo.
Utilizza più bucket di Cloud Storage
Se desideri utilizzare un bucket Cloud Storage diverso da quello predefinito fornito in precedenza o utilizzare più bucket Cloud Storage in una singola app, puoi creare un'istanza di firebase.storage
che faccia riferimento al tuo bucket personalizzato:
Web version 9
import { getApp } from "firebase/app"; import { getStorage } from "firebase/storage"; // Get a non-default Storage bucket const firebaseApp = getApp(); const storage = getStorage(firebaseApp, "gs://my-custom-bucket");
Web version 8
// Get a non-default Storage bucket var storage = firebase.app().storage("gs://my-custom-bucket");
Lavorare con i bucket importati
Quando importi un bucket Cloud Storage esistente in Firebase, dovrai concedere a Firebase la possibilità di accedere a questi file utilizzando lo strumento gsutil
, incluso in Google Cloud SDK :
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Puoi trovare il numero del tuo progetto come descritto nell'introduzione ai progetti Firebase .
Ciò non influisce sui bucket appena creati, poiché hanno il controllo di accesso predefinito impostato per consentire Firebase. Questa è una misura temporanea e verrà eseguita automaticamente in futuro.
Utilizza un'app Firebase personalizzata
Se stai creando un'app più complicata utilizzando un firebase.app.App
personalizzato, puoi creare un'istanza di firebase.storage.Storage
inizializzata con quell'app:
Web version 9
import { getStorage } from "firebase/storage"; // Get the default bucket from a custom firebase.app.App const storage1 = getStorage(customApp); // Get a non-default bucket from a custom firebase.app.App const storage2 = getStorage(customApp, "gs://my-custom-bucket");
Web version 8
// Get the default bucket from a custom firebase.app.App var storage = customApp.storage(); // Get a non-default bucket from a custom firebase.app.App var storage = customApp.storage("gs://my-custom-bucket");
Prossimi passi
Preparati a lanciare la tua app:
Abilita App Check per assicurarti che solo le tue app possano accedere ai tuoi bucket di archiviazione.
Imposta avvisi di budget per il tuo progetto in Google Cloud Console.
Monitora la dashboard di utilizzo e fatturazione nella console Firebase per ottenere un quadro generale dell'utilizzo del tuo progetto su più servizi Firebase. Puoi anche visitare la dashboard sull'utilizzo di Cloud Storage per informazioni più dettagliate sull'utilizzo.
Esamina l' elenco di controllo per il lancio di Firebase .