Creazione e gestione di database

In questa pagina viene descritto come creare, aggiornare ed eliminare i database Firestore con compatibilità MongoDB. Puoi creare più database Firestore per progetto. Puoi utilizzare più database per configurare ambienti di produzione e test, per isolare i dati dei clienti e per la regionalizzazione dei dati.

Utilizzo del livello gratuito

Firestore offre un livello gratuito che ti consente di iniziare senza costi.

Il livello gratuito si applica a un solo database Firestore per progetto. Il primo database creato in un progetto senza un database di livello gratuito riceverà il livello gratuito. Se il database con il livello gratuito applicato viene eliminato, il database successivo creato riceverà il livello gratuito.

Prima di iniziare

Prima di creare un database, devi completare i seguenti passaggi:

  1. Make sure that billing is enabled for your Google Cloud project.

  2. Assegna i ruoli Identity and Access Management appropriati come descritto nella sezione successiva.

Ruoli obbligatori

Per creare e gestire i database, devi disporre del ruolo Identity and Access Management Owner o Datastore Owner. Questi ruoli concedono le autorizzazioni richieste.

Autorizzazioni obbligatorie

Per gestire i database, devi disporre delle seguenti autorizzazioni:

  • Crea un database: datastore.databases.create
  • Leggi la configurazione del database: datastore.databases.getMetadata
  • Configura un database: datastore.databases.update
  • Elimina un database: datastore.databases.delete

Crea un database

Per creare un database Firestore con compatibilità MongoDB, utilizza uno dei seguenti metodi:

Console Google Cloud
  1. Nella console Google Cloud, vai alla pagina Database.

    Vai a Database

  2. Fai clic su Crea un database Firestore.
  3. Inserisci un ID database.
  4. Seleziona la versione Enterprise.
  5. Seleziona una posizione per il database.
  6. (Facoltativo) Se devi personalizzare la crittografia, fai clic su Mostra opzioni di crittografia e configura le opzioni di crittografia.
  7. Fai clic su Crea database.
Interfaccia a riga di comando gcloud

Utilizza il comando gcloud firestore databases create e imposta --edition=enterprise.

gcloud firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--edition=enterprise

Sostituisci quanto segue:

Per attivare la protezione da eliminazione, aggiungi il flag --delete-protection. Non puoi eliminare un database con la protezione dall'eliminazione abilitata finché non disattivi questa impostazione. Questa impostazione è disattivata per impostazione predefinita.

gcloud firestore databases create \
--database=DATABASE_ID \
--location=LOCATION \
--edition=enterprise \
--delete-protection
Terraform

Utilizza la risorsa google_firestore_database e imposta database_edition su ENTERPRISE

resource "google_firestore_database" "database" {
  name             = "DATABASE_ID"
  location_id      = "LOCATION"
  type             = "FIRESTORE_NATIVE"
  database_edition = "ENTERPRISE"

  // Optional
  delete_protection_state = "DELETE_PROTECTION_STATE"
}

Sostituisci quanto segue:

Per attivare la protezione da eliminazione, imposta delete_protection_state su DELETE_PROTECTION_ENABLED. Non puoi eliminare un database con la protezione dall'eliminazione abilitata fino a quando non disattivi questa impostazione. Questa impostazione è disattivata per impostazione predefinita.

ID database

Gli ID database validi includono gli ID conformi a quanto segue:

  • Include solo lettere, numeri e il carattere trattino (-).
  • Le lettere devono essere minuscole.
  • Il primo carattere deve essere una lettera.
  • L'ultimo carattere deve essere una lettera o un numero.
  • Minimo 4 caratteri.
  • Massimo 63 caratteri.
  • Non deve essere un UUID o assomigliare a un UUID. Ad esempio, non utilizzare un ID come f47ac10b-58cc-0372-8567-0e02b2c3d479.

Se elimini un database, non puoi riutilizzare immediatamente l'ID database finché non sono trascorsi 5 minuti.

Elimina protezione

Utilizza la protezione dall'eliminazione per evitare l'eliminazione accidentale di un database. La protezione eliminazione funziona nel seguente modo:

  • Non puoi eliminare un database con la protezione dall'eliminazione abilitata finché non disattivi la protezione dall'eliminazione.
  • La protezione da eliminazione è disattivata per impostazione predefinita.
  • Puoi attivare la protezione dall'eliminazione quando crei il database oppure puoi aggiornare una configurazione del database per attivarla.

Elenco database

Utilizza uno dei seguenti metodi per elencare i tuoi database:

Console

Nella console Google Cloud, vai alla pagina Database.

Vai a Database

Interfaccia a riga di comando gcloud

Utilizza il comando gcloud firestore databases list per elencare tutti i database del tuo progetto.

gcloud firestore databases list

Visualizza i dettagli del database

Per visualizzare i dettagli di un singolo database, utilizza uno dei seguenti metodi:

Console
  1. Nella console Google Cloud, vai alla pagina Database.

    Vai a Database

  2. Seleziona un database dall'elenco dei database.
Interfaccia a riga di comando gcloud

Utilizza il comando gcloud firestore databases describe:

gcloud firestore databases describe --database=DATABASE_ID

Sostituisci DATABASE_ID con un ID database.

Aggiorna la configurazione del database

Per aggiornare le impostazioni di configurazione di un database, utilizza il comando gcloud firestore databases update.

Utilizza questo comando per modificare, attivare o disattivare la protezione dall'eliminazione.

Aggiorna l'impostazione di protezione da eliminazione

Per attivare la protezione dall'eliminazione su un database, utilizza il comando gcloud firestore databases update con il flag --delete-protection. Ad esempio:

Interfaccia a riga di comando gcloud
gcloud firestore databases update --database=DATABASE_ID --delete-protection

Sostituisci DATABASE_ID con un ID database.

Per disattivare la protezione dall'eliminazione su un database, utilizza il comando gcloud firestore databases update con il flag --no-delete-protection. Ad esempio:

Interfaccia a riga di comando gcloud
gcloud firestore databases update --database=DATABASE_ID --no-delete-protection

Sostituisci DATABASE_ID con un ID database.

Eliminare un database

Per eliminare un database, utilizza la console o lo strumento a riga di comando. L'eliminazione di un database non comporta l'addebito di costi per le operazioni di eliminazione.

Se nel database è abilitata l'impostazione di protezione dall'eliminazione, devi prima disattivare la protezione dall'eliminazione.

Console Google Cloud
  1. Nella console Google Cloud, vai alla pagina Database.

    Vai a Database

  2. Fai clic su Visualizza altro nella colonna Azioni per il database che vuoi eliminare. Fai clic su Elimina. Viene visualizzata una finestra di dialogo.
  3. Nella finestra di dialogo Vuoi eliminare il database?, conferma l'eliminazione digitando l'ID del database nel campo di testo. Fai clic su Elimina. La console ti informa sull'esito positivo o negativo dell'operazione.

    Se l'operazione non riesce, visualizza i dettagli del database e verifica che la protezione eliminazione sia disattivata. Per disattivare la protezione da eliminazione, consulta Aggiornare l'impostazione di protezione da eliminazione.

Interfaccia a riga di comando gcloud

Utilizza il comando `gcloud firestore databases delete`.

gcloud firestore databases delete --database=DATABASE_ID

Sostituisci DATABASE_ID con l'ID del database da eliminare.

Configurare le autorizzazioni di accesso per database

Puoi utilizzare le condizioni di Identity and Access Management per configurare le autorizzazioni di accesso a livello di database. I seguenti esempi utilizzano Google Cloud CLI per assegnare l'accesso condizionale per uno o più database. Puoi anche definire le condizioni IAM nella console Google Cloud.

Visualizza i criteri IAM esistenti

gcloud projects get-iam-policy PROJECT_ID

Imposta PROJECT_ID sul tuo ID progetto.

Concedere l'accesso a un database

gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name=="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'

Imposta quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • EMAIL: un indirizzo email che rappresenta un account specifico. Ad esempio, [email protected].
  • DATABASE_ID: un ID database.
  • TITLE: un titolo facoltativo per l'espressione.
  • DESCRIPTION: una descrizione facoltativa dell'espressione.

Concedi l'accesso a tutti i database tranne uno

gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' \
--condition='expression=resource.name!="projects/PROJECT_ID/databases/DATABASE_ID",title=TITLE,description=DESCRIPTION'

Imposta quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • EMAIL: un indirizzo email che rappresenta un account specifico. Ad esempio, [email protected].
  • DATABASE_ID: un ID database.
  • TITLE: un titolo facoltativo per l'espressione.
  • DESCRIPTION: una descrizione facoltativa dell'espressione.

Rimuovere i criteri per un determinato membro e ruolo

gcloud projects remove-iam-policy-binding PROJECT_ID \
--member='user:EMAIL' \
--role='roles/datastore.user' --all

Imposta quanto segue:

  • PROJECT_ID: il tuo ID progetto
  • EMAIL: un indirizzo email che rappresenta un account specifico. Ad esempio, [email protected].

Limitazioni

Puoi avere un massimo di 100 database per progetto. Puoi contattare l'assistenza per richiedere un aumento di questo limite.

Passaggi successivi