Amministrazione datastore

In precedenza Firestore in modalità Datastore supportava la possibilità di abilitare l'amministratore del datastore, un modulo facoltativo con funzionalità di eliminazione e backup in blocco. L'amministratore Datastore è stato sostituito da alternative più affidabili:

Accesso all'amministratore di Datastore

Se in precedenza hai abilitato Datastore Admin, 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 potrai riabilitare il modulo.

Avvertenze sull'utilizzo delle funzionalità di amministratore di Datastore

  • Per la copia, l'eliminazione e il backup, gli aggiornamenti recenti potrebbero non essere presi in considerazione.
  • Tutte le operazioni di amministrazione Datastore si verificano all'interno della tua applicazione, pertanto vengono conteggiate nella quota.
  • Ti consigliamo vivamente di disattivare 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 dati aggiuntivi.
  • Se utilizzi una coda non predefinita per il backup/il ripristino, puoi specificare il target ah-builtin-python-bundle solo 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 le autorizzazioni Identity and Access Management per Datastore.

Backup dei dati in corso...

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

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

  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. Tieni presente che viene fornito un nome di backup e che include un timestamp.

    Devi modificare questo valore se esegui più di un backup al giorno perché non esiste un backup con lo stesso nome già esistente.

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

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

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

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

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

  11. Fai clic su Torna alla pagina Amministrazione datastore per visualizzare lo stato del backup.

  12. Una volta completato il 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 a seguito di eliminazioni accidentali o per esportare i dati. Puoi eseguire il backup di tutte le entità o solo dei tipi selezionati e ripristinare uno di questi backup quando necessario.

Le copie di backup vengono salvate in Cloud Storage.

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

Puoi anche utilizzare i file di backup 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 quando le entità vengono ripristinate. Questo dovrebbe evitare conflitti di ID con nuove entità se le scritture sono abilitate durante il 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à per ripristinare il backup di alcuni dati di un'applicazione in un'altra applicazione, purché utilizzi Cloud Storage per i tuoi backup.

Interruzione di un backup

Se i job di backup attualmente in esecuzione sono visualizzati in un 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 che sono stati salvati fino a quel momento. Tuttavia, in alcuni casi, alcuni file possono rimanere dopo l'interruzione. Puoi trovare questi file nella posizione scelta per i backup in Google Cloud Storage ed eliminarli in modo sicuro dopo il completamento dell'interruzione. I nomi di tali file iniziano con il seguente pattern: datastore_backup_[BUCKET_NAME].

Trovare informazioni su un backup

Potresti voler conoscere i dettagli di un backup, ad esempio quali tipi di entità contiene, dove è stato salvato in Google Cloud Storage e la sua 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 per i backup.
  4. Fai clic su Indietro per tornare alla schermata principale dell'amministratore di Cloud Datastore.

Ripristino dei dati in corso...

Per eseguire il ripristino da un backup:

  1. (Consigliato) Disabilita le scritture di Cloud Datastore per la tua applicazione. In genere, è consigliabile eseguire questa operazione per evitare conflitti tra il ripristino e i 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, vedi l'elenco di entità con caselle di controllo. Per impostazione predefinita, tutte le entità verranno ripristinate. Deseleziona la casella di controllo accanto a ogni entità che non vuoi ripristinare.
  6. Sempre nella pagina di consulenza, tieni presente che la coda predefinita, con le sue impostazioni delle prestazioni preconfigurate, viene utilizzata per il job di ripristino. Passa a 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 alcun 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 di stato del job.
  8. Fai clic su Torna alla pagina 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 nelle applicazioni diverse da quella 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 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 di Cloud Datastore per l'applicazione di destinazione per evitare conflitti tra i dati ripristinati e i nuovi dati scritti in Cloud Datastore.

  4. Apri Amministrazione datastore

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

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

    • Aggiungi all'elenco dei backup se vuoi che questo backup venga conservato nell'elenco dei backup disponibili per la tua applicazione.
    • Ripristina dal 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, vedi l'elenco di entità con caselle di controllo. Per impostazione predefinita, tutte le entità verranno ripristinate. Deseleziona la casella di controllo accanto a ogni entità che non vuoi ripristinare.

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

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

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

Visualizzazione dell'utilizzo delle risorse

I backup molto frequenti spesso comportano costi più elevati. Quando esegui un job di amministratore Cloud Datastore, stai effettivamente eseguendo un job MapMap sottostante. I job MapReduce fanno sì che le ore di istanza del frontend aumentino rispetto alle operazioni di archiviazione e all'utilizzo dello spazio di archiviazione.

Per visualizzare l'utilizzo delle risorse:

  1. Visita la pagina App Engine di Google Cloud Console.

    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 del database

In genere, è consigliabile disattivare le scritture prima di un ripristino. In questo modo puoi evitare i conflitti tra il ripristino e qualsiasi nuovo dato scritto nel tuo database.

La disabilitazione delle scritture impedisce la modifica delle entità da parte di

  • del Visualizzatore Datastore.
  • che utilizzano l'API Datastore.

Per attivare o disattivare le scritture:

  1. Vai alla pagina Amministrazione.

    Vai alla pagina Amministratore

  2. Fai clic su Attiva scritture per abilitarle o su Disattiva scritture per disattivare le scritture. Il testo del pulsante varia a seconda dello stato del progetto.

Visualizzazione dell'utilizzo delle risorse di amministratore di Datastore

Quando esegui un job di amministratore Datastore, stai di fatto eseguendo un job MapReduce sottostante. I job MapReduce causano l'aumento delle ore di istanza del frontend rispetto alle operazioni di archiviazione e all'utilizzo dello spazio di archiviazione.

Per visualizzare l'utilizzo delle risorse:

  1. Visita la pagina App Engine di Google Cloud Console.

    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 accesso amministratore 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