Amministrazione datastore

In precedenza, Firestore in modalità Datastore supportava la possibilità di attivare Amministrazione Datastore, un modulo facoltativo con funzionalità di backup ed eliminazione collettiva. Datastore Admin è stato sostituito da alternative più affidabili:

Accesso ad Amministrazione datastore

Se in precedenza hai attivato 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 disattivi Amministrazione Datastore, non potrai riattivare il modulo.

Limitazioni relative all'utilizzo delle funzionalità di Amministrazione Datastore

  • Per le operazioni di copia, eliminazione e backup, gli aggiornamenti recenti potrebbero non essere presi in considerazione.
  • Tutte le operazioni di Amministrazione Datastore vengono eseguite all'interno dell'applicazione e pertanto 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 i dati extra.
  • Se utilizzi una coda non predefinita per il backup/il 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, Amministrazione Datastore può accedere a un database Datastore nello stesso progetto e non richiede autorizzazioni Identity and Access Management per Datastore.

Eseguire il backup dei dati

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 l'hai ancora fatto, crea un bucket di archiviazione per il tuo progetto. Se vuoi, verifica che l'account di servizio predefinito di App Engine per il progetto abbia accesso al bucket tramite l'elenco di controllo dell'accesso. Potrebbe essere già impostato per impostazione predefinita e può essere ignorato, se necessario.

  2. (Consigliato) Disattiva le scritture in Cloud Datastore.

  3. Apri Amministrazione datastore

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

  5. Fai clic su Esegui il backup delle entità per visualizzare il modulo di backup.

  6. Tieni presente che viene fornito un nome di backup che include un timestamp.

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

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

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

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

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

  10. Avvia i job di backup facendo clic su Esegui il backup delle entità. Tieni presente che viene visualizzata una pagina dello stato del job.Stato del job di backup

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

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

Considerazioni su backup e ripristino

La funzionalità di backup e ripristino è progettata per aiutarti a recuperare i dati in caso di eliminazione accidentale o per esportarli. Puoi eseguire il backup di tutte le entità o solo dei tipi di entità selezionati e puoi ripristinare da uno di questi backup in caso di necessità.

I backup vengono salvati in Cloud Storage.

Tieni presente che il backup non contiene indici. Durante il ripristino, gli indici richiesti vengono ricostruiti automaticamente utilizzando le definizioni degli indici che hai caricato 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 recupero, gli ID vengono riservati durante il ripristino delle entità. In questo modo, si dovrebbero evitare collisioni di ID con nuove entità se le scritture sono attivate durante l'esecuzione di un recupero. Le nuove entità aggiunte dal backup vengono conservate.

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

Interrompere un backup

Se i job di backup sono attualmente in esecuzione, vengono visualizzati nell'elenco Backup in attesa nella schermata 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 trovare questi file nella posizione che hai scelto per i backup in Google Cloud Storage ed eliminarli in sicurezza al termine dell'interruzione. I nomi di questi 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 i tipi di entità che contiene, dove è stato salvato in Google Cloud Storage e la relativa data 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) Disattiva le scritture in Cloud Datastore per la tua applicazione. In genere è consigliabile farlo 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 quello da cui vuoi eseguire il ripristino.
  4. Fai clic su Ripristina.
  5. Nella pagina informativa visualizzata, nota l'elenco delle entità con le 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 informativa, tieni presente che la coda predefinita, con le relative impostazioni di rendimento predefinite, viene utilizzata per il job di ripristino. Se hai bisogno di caratteristiche di rendimento diverse per la coda, imposta un'altra coda configurata in modo diverso, assicurandoti che non abbia un obiettivo specificato in queue.yaml diverso da ah-builtin-python-bundle.
  7. Avvia il ripristino facendo clic su Ripristina. Tieni presente che viene visualizzata una pagina dello stato del job.
  8. Fai clic su Torna ad Amministrazione del data store per visualizzare lo stato del ripristino. Stato ripristino
  9. Al termine del ripristino, se hai disattivato 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 in applicazioni diverse da quella utilizzata per crearli.

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:

    • Principale: [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. Esegui un nuovo backup nell'applicazione di origine.

  3. (Consigliato) Disattiva 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 Importa informazioni sul backup, specifica il bucket dell'applicazione di origine contenente il backup nel formato/gs/[BUCKET_NAME]. Bucket di archiviazione dei backup
    In alternativa, fornisci l'handle file per un backup specifico: per visualizzare l'handle file di un backup, apri la pagina Amministrazione dell'applicazione di origine, seleziona il backup e fai clic su Informazioni. Dovresti vedere l'handle 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 specificato, a meno che non ne abbia specificato uno tramite il relativo handle. Seleziona il backup desiderato e fai clic su una delle seguenti opzioni:

    • Aggiungi all'elenco dei backup se vuoi che questo backup venga mantenuto nell'elenco dei backup disponibili per la tua applicazione.
    • Ripristina da backup se vuoi eseguire il ripristino da questo backup, ma non vuoi che il backup venga visualizzato nell'elenco dei backup disponibili per la tua applicazione.
  7. Nella pagina informativa visualizzata, nota l'elenco delle entità con le 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 informativa, tieni presente che la coda predefinita, con le relative impostazioni di prestazioni preconfigurate, viene utilizzata per il job di ripristino. Se hai bisogno di caratteristiche di prestazioni diverse per le code, imposta un'altra coda configurata in modo diverso.

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

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

Visualizzazione dell'utilizzo delle risorse

I backup molto frequenti spesso comportano costi più elevati. Quando esegui un job Cloud Datastore Admin, in realtà stai eseguendo un job MapReduce sottostante. I job MapReduce causano un aumento delle ore di istanza frontend oltre alle operazioni 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 ah-builtin-python-bundle.

Attivazione o disattivazione delle scritture nel database

In genere è buona norma disattivare le scritture prima di un ripristino. In questo modo puoi evitare conflitti tra il ripristino e i nuovi dati scritti nel database.

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

  • Datastore Viewer.
  • applicazioni che utilizzano l'API Datastore.

Per attivare o disattivare le scritture:

  1. Vai alla pagina Amministrazione.

    Vai alla pagina Amministrazione

  2. Fai clic su Attiva operazioni di scrittura per attivarle o su Disattiva operazioni di scrittura per disattivarle. Il testo del pulsante varia in base allo stato del progetto.

Visualizzazione dell'utilizzo delle risorse di Amministrazione datastore

Quando esegui un job Datastore Admin, in realtà stai eseguendo un job MapReduce sottostante. I job MapReduce fanno aumentare le ore di istanza frontend oltre alle operazioni 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 ah-builtin-python-bundle.

Disattivare l'accesso come amministratore del datastore

  1. Esegui il comando seguente, 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