Amministrazione datastore

In precedenza, Firestore in modalità Datastore supportava la possibilità di abilitare Amministratore Datastore, un modulo facoltativo con funzionalità di eliminazione collettiva e backup. La funzionalità Amministrazione datastore è stata sostituita da alternative più affidabili:

Accesso ad Amministrazione datastore

Se hai precedentemente abilitato Amministrazione datastore, puoi continuare ad accedere al modulo visitando https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID, dove PROJECT_ID è l'ID del tuo progetto Google Cloud. Se disabiliti Amministrazione Datastore, non sarà possibile riabilitare il modulo.

Avvertenze sull'utilizzo delle funzionalità di amministrazione di Datastore

  • Per le operazioni di copia, eliminazione e backup, gli aggiornamenti recenti potrebbero non essere presi in considerazione.
  • Tutte le operazioni di amministrazione di Datastore vengono eseguite all'interno dell'applicazione e, di conseguenza, incidono sulla tua quota.
  • Ti consigliamo vivamente di disabilitare le scritture durante un backup o un ripristino.
  • Le entità esistenti con le stesse chiavi verranno sovrascritte durante un'operazione di copia/ripristino. I duplicati non vengono creati se le operazioni di copia/ripristino vengono eseguite più volte. Le operazioni di copia/ripristino non eliminano i dati aggiuntivi.
  • Se utilizzi una coda non predefinita per il backup/ripristino, puoi specificare solo la destinazione ah-builtin-python-bundle in queue.yaml. Non puoi utilizzare altri target.

Autorizzazioni di accesso al database

Per impostazione predefinita, l'amministratore Datastore può accedere a un database Datastore nello stesso progetto e non richiede autorizzazioni di Identity and Access Management per Datastore.

Backup dei dati in corso...

Segui i passaggi riportati di seguito per creare un file di backup per i futuri ripristini dei dati o per l'esportazione.

  1. Se non lo hai già fatto, crea un bucket di archiviazione per il progetto. Facoltativamente, verifica che l'account di servizio predefinito App Engine per il progetto abbia accesso al bucket tramite l'elenco di controllo degli accessi. Questa opzione potrebbe essere già impostata per impostazione predefinita e, se necessario, può essere sostituita.

  2. (Consigliato) Disabilita le scritture di Cloud Datastore.

  3. Apri Amministrazione datastore

  4. Seleziona i tipi di entità di cui vuoi eseguire il backup.

  5. Fai clic su Entità di backup per visualizzare il modulo di backup.

  6. Nota che viene fornito un nome di backup che include un timestamp.

    Devi modificare questo valore se esegui più di un backup al giorno, poiché non viene eseguito un backup se esiste già un backup con lo stesso nome.

  7. Tieni presente che per il job di backup viene utilizzata la coda predefinita; puoi utilizzarla nella maggior parte dei casi.

    Se utilizzi una coda non predefinita per il backup/ripristino, puoi specificare solo la destinazione ah-builtin-python-bundle in queue.yaml. Non puoi utilizzare altri target.

  8. Seleziona Google Cloud Storage come percorso di archiviazione del backup.

  9. Quando scegli Cloud Storage, ti viene richiesto il nome del bucket in cui devono essere archiviati i backup, nel formato [BUCKET_NAME]. Facoltativamente, puoi specificare il nome del bucket con un suffisso con una struttura di directory, ad esempio [BUCKET_NAME]/backups/foo. Se quelle cartelle non esistono già, verranno create.

  10. Avvia i job di backup facendo clic su Entità di backup. Nota che viene visualizzata una pagina dello stato del job. Stato job di backup

  11. Fai clic su Torna ad Amministrazione Datastore per visualizzare lo stato del backup.

  12. Al termine del backup, se hai disabilitato le scritture di Cloud Datastore, riattivale.

Considerazioni su backup e ripristino

La funzionalità di backup e ripristino è pensata per aiutarti a recuperare i dati da eliminazioni accidentali o per consentirti di esportare i dati. Puoi eseguire il backup di tutte le entità o solo dei tipi di entità selezionati, e quando necessario, puoi eseguire il ripristino da uno di questi backup.

I backup vengono salvati in Cloud Storage.

Tieni presente che il backup non contiene indici. Quando esegui il ripristino, gli indici obbligatori vengono ricreati automaticamente utilizzando le definizioni degli indici caricate con l'applicazione.

Puoi utilizzare i file di backup anche per esportare i dati in altri servizi Google Cloud, come BigQuery.

I ripristini non assegnano nuovi ID alle entità. I ripristini utilizzano gli ID esistenti al momento del backup e sovrascrivono qualsiasi entità esistente con lo stesso ID. Durante un ripristino, gli ID vengono riservati durante il ripristino delle entità. Questo dovrebbe evitare collisioni tra ID con nuove entità se le scritture sono abilitate mentre è in esecuzione un ripristino. Le nuove entità aggiunte dopo il backup vengono conservate.

Puoi ripristinare tutti i dati da un backup o ripristinare tipi di entità specifici dal backup. Inoltre, puoi utilizzare questa funzionalità anche per ripristinare un backup dei dati di un'applicazione in un'altra, a condizione che utilizzi Cloud Storage per i backup.

Interruzione di un backup

Se sono in esecuzione, i job di backup vengono visualizzati nell'elenco Backup in attesa nella schermata di amministrazione di Cloud Datastore.

Per interrompere questi backup in esecuzione:

  1. Apri Amministrazione datastore
  2. Nella sezione Backup in attesa, seleziona il backup nell'elenco e fai clic su Interrompi.

Quando interrompi un job di backup, App Engine tenta di eliminare i dati di backup salvati fino a quel momento. Tuttavia, in alcuni casi, alcuni file possono rimanere dopo l'interruzione. Puoi individuare questi file nella posizione scelta per i backup in Google Cloud Storage ed eliminarli in modo sicuro al termine dell'interruzione. I nomi di questi file iniziano con il seguente pattern: datastore_backup_[BUCKET_NAME].

Ricerca di informazioni su un backup

Potresti voler conoscere i dettagli di un backup, ad esempio i tipi di entità che contiene, la posizione in cui è stato salvato in Google Cloud Storage e l'ora di inizio e di fine. Per visualizzare queste informazioni di backup:

  1. Apri Amministrazione datastore
  2. Seleziona uno o più backup nell'elenco Backup o Backup in attesa.
  3. Fai clic su Informazioni per visualizzare le informazioni relative a questi backup.
  4. Fai clic su Indietro per tornare alla schermata principale di amministrazione di Cloud Datastore.

Ripristino dei dati

Per eseguire il ripristino da un backup:

  1. (Consigliato) Disabilita le scritture Cloud Datastore per la tua applicazione. È consigliabile eseguire questa operazione per evitare conflitti tra il ripristino ed eventuali nuovi dati scritti in Cloud Datastore.
  2. Apri Amministrazione datastore
  3. Nell'elenco dei backup disponibili, seleziona il backup da cui vuoi eseguire il ripristino.
  4. Fai clic su Ripristina.
  5. Nella pagina di consulenza visualizzata, nota l'elenco di entità con caselle di controllo. Per impostazione predefinita, verranno ripristinate tutte le entità. Deseleziona la casella di controllo accanto a ogni entità che non vuoi ripristinare.
  6. Sempre nella pagina di consulenza, puoi notare che per il job di ripristino viene utilizzata la coda predefinita, con le sue impostazioni preconfigurate delle prestazioni. Modifica questa impostazione con un'altra coda che hai configurato in modo diverso se hai bisogno di caratteristiche di prestazioni della coda diverse, assicurandoti che la coda scelta non abbia un target specificato in queue.yaml diverso da ah-builtin-python-bundle.
  7. Avvia il ripristino facendo clic su Ripristina. Nota che viene visualizzata una pagina dello stato del job.
  8. Fai clic su Torna ad Amministrazione Datastore per visualizzare lo stato del ripristino. Stato ripristino
  9. Al termine del ripristino, se hai disabilitato le scritture, riattiva le scritture di Cloud Datastore per la tua applicazione.

Ripristino dei dati in un'altra applicazione

Se esegui il backup dei dati utilizzando Google Cloud Storage, puoi ripristinare i backup su applicazioni diverse dall'applicazione utilizzata per creare il backup.

Per ripristinare i dati di backup da un'applicazione di origine a un'applicazione di destinazione:

  1. Crea un criterio di Identity and Access Management (IAM) nel bucket di archiviazione dell'applicazione di origine con la seguente autorizzazione:

    • Entità: [PROJECT_ID]@appspot.gserviceaccount.com
    • Ruoli: Storage Legacy Bucket Reader e Storage Legacy Object Reader

    dove [PROJECT_ID] è l'ID progetto dell'applicazione di destinazione.

  2. Crea un nuovo backup nell'applicazione di origine.

  3. (Consigliato) Disabilita le scritture Cloud Datastore per l'applicazione di destinazione al fine di evitare conflitti tra i dati ripristinati e eventuali nuovi dati scritti in Cloud Datastore.

  4. Apri Amministrazione datastore

  5. Nella casella di testo accanto al pulsante con etichetta Importa informazioni di backup, specifica il bucket dell'applicazione di origine contenente il backup, nel formato /gs/[BUCKET_NAME]. Bucket di archiviazione backup
    In alternativa, fornisci l'handle di file per un backup specifico: per visualizzare l'handle del file per un backup, apri la pagina Amministrazione dell'applicazione di origine, seleziona il backup e fai clic su Informazioni. Dovresti vedere l'handle del file accanto all'etichetta Handle.

  6. Fai clic su Importa informazioni di backup.
    La pagina di selezione risultante mostra i backup disponibili per il bucket che hai specificato, a meno che tu non abbia specificato un backup tramite il suo handle. Seleziona il backup che preferisci e fai clic su una delle seguenti opzioni:

    • Aggiungi all'elenco dei backup se vuoi che il backup venga conservato nell'elenco dei backup disponibili per la tua applicazione.
    • Ripristina da backup se vuoi eseguire il ripristino da questo backup, ma non vuoi che venga visualizzato nell'elenco dei backup disponibili per la tua applicazione.
  7. Nella pagina di consulenza visualizzata, nota l'elenco di entità con caselle di controllo. Per impostazione predefinita, verranno ripristinate tutte le entità. Deseleziona la casella di controllo accanto a ogni entità che non vuoi ripristinare.

  8. Sempre nella pagina di consulenza, nota che per il job di ripristino viene utilizzata la coda predefinita, con le sue impostazioni preconfigurate relative alle prestazioni. Passa a un'altra coda che hai configurato in modo diverso, se hai bisogno di caratteristiche differenti per le prestazioni della coda.

  9. Avvia il ripristino facendo clic su Ripristina. Nota che viene visualizzata una pagina dello stato del job.

  10. Al termine del ripristino, se hai disabilitato le scritture di Cloud Datastore, riattivale.

Visualizzazione dell'utilizzo delle risorse

Backup molto frequenti spesso comportano costi più elevati. Quando esegui un job di amministrazione di Cloud Datastore, stai eseguendo un job MapReduce sottostante. I job MapReduce causano un aumento delle ore di istanza del frontend oltre alle operazioni di archiviazione e all'utilizzo dello spazio di archiviazione.

Per visualizzare l'utilizzo delle risorse:

  1. Visita la pagina App Engine della console Google Cloud.

    Vai alla pagina App Engine

  2. Utilizza i menu a discesa nella parte superiore della pagina per selezionare il servizio default e la versione di ah-builtin-python-bundle.

Abilitazione o disabilitazione delle scritture dei database

In genere è consigliabile disabilitare le scritture prima di un ripristino. In questo modo si evitano conflitti tra il ripristino ed eventuali nuovi dati scritti nel database.

La disabilitazione delle operazioni di scrittura impedisce la modifica delle entità da

  • il visualizzatore Datastore.
  • applicazioni che utilizzano l'API Datastore.

Per abilitare o disabilitare le scritture:

  1. Vai alla pagina Amministrazione.

    Vai alla pagina Amministrazione

  2. Fai clic su Abilita scritture per abilitare le scritture o Disabilita scritture per disabilitare le scritture. Il testo del pulsante varia a seconda dello stato del progetto.

Visualizzazione dell'utilizzo delle risorse di amministrazione Datastore

Quando esegui un job di amministrazione di Datastore, stai eseguendo un job MapReduce sottostante. I job MapReduce fanno aumentare le ore di istanza di frontend, oltre alle operazioni di archiviazione e all'utilizzo dello spazio di archiviazione.

Per visualizzare l'utilizzo delle risorse:

  1. Visita la pagina App Engine della console Google Cloud.

    Vai alla pagina App Engine

  2. Utilizza i menu a discesa nella parte superiore della pagina per selezionare il servizio default e la versione di ah-builtin-python-bundle.

Disabilita l'accesso amministrativo a Datastore

  1. Esegui questo comando, sostituendo PROJECT_ID con l'ID del tuo progetto Google Cloud:

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://appengine.googleapis.com/v1/apps/PROJECT_ID/services/default/versions/ah-builtin-python-bundle