2012-06-26 9 views
5

Sto cercando di utilizzare Google App Engine per un progetto e vorrei essere sicuro di avere un modo per esportare tutti i miei dati se dovessi decidere di lasciare GAE (o il GAE si spegne).Come posso esportare i dati dall'archivio dati ad alta replicazione di Google App Engine?

Tutto ciò che cerco sull'esportazione dei dati dai punti GAE al numero https://developers.google.com/appengine/docs/python/tools/uploadingdata. Tuttavia, quella pagina contiene questa nota:

Nota: questo documento si applica alle app che utilizzano il datastore master/slave . Se la tua app utilizza l'archivio dati ad alta replicazione, è possibile utilizzare per copiare i dati dall'app, ma attualmente Google non supporta in questo caso d'uso. Se si tenta di copiare da un archivio dati ad alta replica , verrà visualizzato un errore high_replication_warning nella Console di amministrazione e i dati scaricati potrebbero non includere le entità salvate di recente.

Il problema è che di recente l'archivio dati master/slave è stato recentemente sconsigliato a favore del datastore Alta replica. Capisco che il datastore master/slave è ancora supportato per un po 'di tempo, ma non mi sento a mio agio nell'usare qualcosa che è stato ufficialmente deprecato ed è in via di estinzione. Questo mi lascia con l'archivio dati High Replication e l'unico modo in cui sembra esportare i dati è il metodo sopra che non è ufficialmente supportato (e quindi non mi fornisce una garanzia di poter estrarre i miei dati).

Esiste un altro modo (ufficialmente supportato) di esportare i dati dall'archivio dati ad alta replicazione? Non mi sento a mio agio con Google App Engine se significa che i miei dati potrebbero essere bloccati lì per sempre.

risposta

0

È necessario configurare un built-in chiamato remote_api. This article ha tutte le informazioni e guida necessarie per poter scaricare tutti i tuoi dati oggi e in futuro.

+2

Il problema è che, come accennato, tale metodo non è ufficialmente supportato per il datastore ad alta replica, che è quello che userò. –

+2

Credo che funzioni per il tuo ruolo. HRD è un sistema distribuito, ecco perché se si tenta di scaricare i dati, potrebbe non essere una nuova copia. Ma se hai intenzione di migrare, è quasi probabile che tu abbia precedentemente disabilitato le scritture. In questo modo avrai un tempo sicuro per consentire all'HRD di replicare tutte le modifiche. –

2

Mi ci è voluto parecchio tempo per impostare il download dei dati da GAE in quanto la documentazione non è chiara come dovrebbe essere.

Se si estrae i dati da un server Unix, è possibile riutilizzare lo script di seguito.

Inoltre, se non si fornisce il parametro "config_file", estrarrà tutti i dati per questo tipo ma in un formato proprietario che può essere utilizzato solo in seguito per il ripristino dei dati.

#!/bin/sh 
#------------------------------------------------------------------ 
#-- Param 1 : Namespace 
#-- Param 2 : Kind (table id) 
#-- Param 3 : Directory in which the csv file should be stored 
#-- Param 4 : output file name 
#------------------------------------------------------------------ 
appcfg.py download_data --secure --email=$BACKUP_USERID --  config_file=configClientExtract.yml --filename=$3/$4.csv --kind=$2 --url=$BACKUP_WEBSITE/remote_api --namespace=$1 --passin <<-EOF $BACKUP_PASSWORD EOF 
+0

Che cos'è configClientExtract.yml (--config_file) e --url? Sì, la pagina della guida non descrive cosa accetta il file di configurazione o l'endpoint dell'URL –

1

Attualmente il datastore del motore dell'app supporta anche un'altra opzione. La fornitura di backup dei dati può essere utilizzata per copiare i dati selezionati in archivio BLOB o archiviazione cloud di Google. Questa funzione è disponibile nell'area admin del datastore nella console del motore dell'app. Se necessario, i dati di backup possono quindi essere scaricati dal visualizzatore blob o dal cloud storage. Per eseguire il backup per archivio dati con replica elevata, si consiglia di disabilitare le scritture del datastore prima di eseguire il backup.

Problemi correlati