Anteriormente, Firestore en el modo de Datastore permitía habilitar Datastore Admin, un módulo opcional con funciones de eliminación y copia de seguridad en bloque. Datastore Admin se ha sustituido por alternativas más fiables:
- La función de copia de seguridad se ha sustituido por la de importaciones y exportaciones gestionadas.
- La función de eliminación en bloque se ha sustituido por la plantilla Eliminar entidades por lotes de Dataflow.
Acceder a Datastore Admin
Si ya has habilitado Datastore Admin, puedes seguir accediendo al módulo en https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID
, donde PROJECT_ID
es el ID de tu proyecto de Google Cloud . Si inhabilitas Datastore Admin, no podrás volver a habilitar el módulo.
Advertencias sobre el uso de las funciones de Datastore Admin
- En el caso de las copias, las eliminaciones y las copias de seguridad, es posible que no se tengan en cuenta las actualizaciones recientes.
- Todas las operaciones de administrador de Datastore se realizan en tu aplicación, por lo que se tienen en cuenta en tu cuota.
- Te recomendamos que inhabilites las escrituras durante una copia de seguridad o una restauración.
- Las entidades que ya existan y tengan las mismas claves se sobrescribirán durante una operación de copia o restauración. No se crean duplicados si se realizan operaciones de copia o restauración varias veces. Las operaciones de copia o restauración no eliminan los datos adicionales.
- Si usas una cola que no es la predeterminada para las copias de seguridad o la restauración, solo puedes especificar el
ah-builtin-python-bundle
de destino enqueue.yaml
. No puedes usar ningún otro objetivo.
Permisos de acceso a la base de datos
De forma predeterminada, Datastore Admin puede acceder a una base de datos de Datastore del mismo proyecto y no requiere permisos de gestión de identidades y accesos para Datastore.
Crear copias de seguridad de datos
Sigue los pasos que se indican a continuación para crear un archivo de copia de seguridad que puedas usar para restaurar datos o exportarlos en el futuro.
Si aún no lo has hecho, crea un contenedor de almacenamiento para tu proyecto. También puedes comprobar que la cuenta de servicio predeterminada de App Engine del proyecto tenga acceso al bucket a través de la lista de control de acceso. Puede que ya esté configurado de forma predeterminada y se puede anular si es necesario.
(Recomendado) Inhabilita las escrituras de Cloud Datastore.
Selecciona los tipos de entidad de los que quieras crear una copia de seguridad.
Haga clic en Entidades de copia de seguridad para que se muestre el formulario de copia de seguridad.
Observa que se proporciona un nombre de copia de seguridad y que incluye una marca de fecha.
Debes cambiar este valor si haces más de una copia de seguridad al día, ya que no se creará ninguna copia si ya existe una con el mismo nombre.
Ten en cuenta que se usa la cola predeterminada para la tarea de copia de seguridad. Puedes usarla en la mayoría de los casos.
Si usas una cola que no es la predeterminada para las copias de seguridad o la restauración, solo puedes especificar el
ah-builtin-python-bundle
de destino enqueue.yaml
. No puedes usar ningún otro objetivo.Selecciona Google Cloud Storage como ubicación de almacenamiento de la copia de seguridad.
Si eliges Cloud Storage, se te pedirá el nombre del segmento en el que se almacenarán las copias de seguridad, con el formato
[BUCKET_NAME]
. También puedes especificar el nombre del contenedor con un sufijo de estructura de directorio, como[BUCKET_NAME]/backups/foo
. Si esas carpetas no existen, se crearán.Inicia los trabajos de copia de seguridad haciendo clic en Crear copia de seguridad de entidades. Verás que se muestra una página de estado de la tarea.
Haz clic en Volver a la administración de Datastore para ver el estado de la copia de seguridad.
Una vez que se haya completado la copia de seguridad, si has inhabilitado las escrituras de Cloud Datastore, vuelve a habilitarlas.
Consideraciones sobre las copias de seguridad y la restauración
La función de copia de seguridad y restauración está diseñada para ayudarte a recuperarte de eliminaciones accidentales de datos o para permitirte exportar datos. Puedes crear copias de seguridad de todas las entidades o solo de los tipos de entidades que selecciones, y puedes restaurar una de estas copias cuando lo necesites.
Las copias de seguridad se guardan en Cloud Storage.
Ten en cuenta que la copia de seguridad no contiene ningún índice. Cuando restauras, los índices necesarios se vuelven a compilar automáticamente con las definiciones de índice que has subido con tu aplicación.
También puede usar archivos de copia de seguridad para exportar sus datos a otros servicios, como Google Cloud BigQuery.
Las restauraciones no asignan nuevos IDs a las entidades. Las restauraciones usan los IDs que existían en el momento de la copia de seguridad y sobrescriben cualquier entidad con el mismo ID. Durante una restauración, los IDs se reservan a medida que se restauran las entidades. De esta forma, se evitarán colisiones de ID con nuevas entidades si las escrituras están habilitadas mientras se ejecuta una restauración. Las entidades añadidas después de la copia de seguridad se conservan.
Puedes restaurar todos los datos de una copia de seguridad o restaurar tipos de entidades específicos de la copia de seguridad. Además, también puedes usar esta función para restaurar una copia de seguridad de los datos de una aplicación en otra, siempre que uses Cloud Storage para tus copias de seguridad.
Abortar una copia de seguridad
Si hay tareas de copia de seguridad en curso, aparecerán en la lista Copias de seguridad pendientes de la pantalla Administrar de Cloud Datastore.
Para detener estas copias de seguridad en curso, sigue estos pasos:
- Abrir Administración de Datastore
- En la sección Copias de seguridad pendientes, selecciona la copia de seguridad de la lista y haz clic en Abortar.
Cuando cancelas un trabajo de copia de seguridad, App Engine intenta eliminar los datos de la copia de seguridad que se hayan guardado hasta ese momento. Sin embargo, en algunos casos, algunos archivos pueden permanecer después de cancelar la operación. Puedes encontrar estos archivos en la ubicación que hayas elegido para tus copias de seguridad en Google Cloud Storage y eliminarlos de forma segura una vez que se haya completado la cancelación. Los nombres de estos archivos empiezan por el siguiente patrón: datastore_backup_[BUCKET_NAME]
.
Buscar información sobre una copia de seguridad
Puede que quieras consultar los detalles de una copia de seguridad, como los tipos de entidades que contiene, dónde se guardó en Google Cloud Storage y su hora de inicio y de finalización. Para mostrar esta información de la copia de seguridad, sigue estos pasos:
- Abrir Administración de Datastore
- Selecciona una o varias copias de seguridad de la lista Copias de seguridad o Copias de seguridad pendientes.
- Haz clic en Información para ver la información de esas copias de seguridad.
- Haz clic en Volver para volver a la pantalla principal de administración de Cloud Datastore.
Restaurar datos
Para restaurar una copia de seguridad, sigue estos pasos:
- (Recomendado) Inhabilita las escrituras de Cloud Datastore en tu aplicación. Normalmente, es recomendable hacerlo para evitar conflictos entre la restauración y los datos nuevos que se escriban en Cloud Datastore.
- Abrir Administración de Datastore
- En la lista de copias de seguridad disponibles, selecciona la que quieras restaurar.
- Haz clic en Restaurar.
- En la página de aviso que se muestra, fíjate en la lista de entidades con casillas. De forma predeterminada, se restaurarán todas las entidades. Desmarca la casilla situada junto a cada entidad que no quieras restaurar.
- También en la página de asesoramiento, observe que se usa la cola predeterminada, con sus ajustes de rendimiento preconfigurados, para el trabajo de restauración. Cambia esta cola por otra que hayas configurado de forma diferente si necesitas otras características de rendimiento de la cola. Asegúrate de que la cola elegida no tenga ningún destino especificado en
queue.yaml
que no seaah-builtin-python-bundle
. - Para iniciar la restauración, haz clic en Restaurar. Verás que se muestra una página de estado del trabajo.
- Haga clic en Volver a la administración de Datastore para ver el estado de la restauración.
- Una vez que se haya completado la restauración, si has inhabilitado las escrituras, vuelve a habilitar las escrituras de Cloud Datastore en tu aplicación.
Restaurar datos en otra aplicación
Si creas copias de seguridad de tus datos con Google Cloud Storage, puedes restaurarlas en aplicaciones distintas de la que usaste para crear la copia de seguridad.
Para restaurar datos de copia de seguridad de una aplicación de origen en una aplicación de destino, sigue estos pasos:
Crea una política de gestión de identidades y accesos (IAM) en el segmento de almacenamiento de la aplicación de origen con el siguiente permiso:
- Principal: [PROJECT_ID]@appspot.gserviceaccount.com
- Roles:
Storage Legacy Bucket Reader
yStorage Legacy Object Reader
donde
[PROJECT_ID]
es el ID del proyecto de la aplicación de destino.Crea una copia de seguridad en la aplicación de origen.
(Recomendado) Inhabilita las escrituras de Cloud Datastore en tu aplicación de destino para evitar conflictos entre los datos restaurados y los datos nuevos que se escriban en Cloud Datastore.
En el cuadro de texto situado junto al botón Importar información de copia de seguridad, especifique el segmento de la aplicación de origen que contiene la copia de seguridad con el formato
/gs/[BUCKET_NAME]
.
También puedes proporcionar el identificador de archivo de una copia de seguridad específica. Para ver el identificador de archivo de una copia de seguridad, abre la página Administrar de la aplicación de origen, selecciona la copia de seguridad y haz clic en Información. Verás el identificador de archivo junto a la etiqueta Identificador.Haz clic en Importar información de copia de seguridad.
En la página de selección resultante se muestran las copias de seguridad disponibles del contenedor que hayas especificado, a menos que hayas especificado una copia de seguridad por su identificador. Seleccione la copia de seguridad que quiera y haga clic en una de las siguientes opciones:- Añadir a la lista de copias de seguridad si quieres que esta copia de seguridad se conserve en la lista de copias de seguridad disponibles de tu aplicación.
- Restaurar desde copia de seguridad si quieres restaurar los datos de esta copia de seguridad, pero no quieres que se muestre en la lista de copias de seguridad disponibles de tu aplicación.
En la página de aviso que se muestra, fíjate en la lista de entidades con casillas. De forma predeterminada, se restaurarán todas las entidades. Desmarca la casilla situada junto a cada entidad que no quieras restaurar.
También en la página de asesoramiento, observe que la cola predeterminada, con sus ajustes de rendimiento preconfigurados, se utiliza para el trabajo de restauración. Cambia esta opción por otra cola que hayas configurado de forma diferente si necesitas otras características de rendimiento de la cola.
Para iniciar la restauración, haz clic en Restaurar. Verás que se muestra una página de estado del trabajo.
Una vez completada la restauración, si has inhabilitado las escrituras de Cloud Datastore, vuelve a habilitarlas.
Ver el uso de recursos
Las copias de seguridad muy frecuentes suelen generar costes más elevados. Cuando ejecutas una tarea de administrador de Cloud Datastore, en realidad estás ejecutando una tarea de MapReduce subyacente. Los trabajos de MapReduce hacen que aumenten las horas de instancia de frontend, además de las operaciones y el uso de Storage.
Para ver el uso de tus recursos, sigue estos pasos:
Ve a la página App Engine de la consola de Google Cloud .
Usa los menús desplegables de la parte superior de la página para seleccionar el servicio
default
y la versiónah-builtin-python-bundle
.
Habilitar o inhabilitar las escrituras en la base de datos
Normalmente, es recomendable inhabilitar las escrituras antes de una restauración. De esta forma, se evitan conflictos entre la restauración y los nuevos datos que se escriban en tu base de datos.
Si se inhabilitan las escrituras, las entidades no podrán modificarse por
- Lector de Datastore.
- Aplicaciones que usan la API de Datastore.
Para habilitar o inhabilitar las escrituras, sigue estos pasos:
Ve a la página Administrar.
Haga clic en Habilitar escritura para habilitar la escritura o en Inhabilitar escritura para inhabilitarla. El texto del botón varía en función del estado del proyecto.
Ver el uso de recursos de administrador de Datastore
Cuando ejecutas un trabajo de administrador de Datastore, en realidad estás ejecutando un trabajo de MapReduce subyacente. Los trabajos de MapReduce hacen que aumenten las horas de instancia del frontend, además de las operaciones de almacenamiento y el uso del almacenamiento.
Para ver el uso de tus recursos, sigue estos pasos:
Ve a la página App Engine de la consola de Google Cloud .
Usa los menús desplegables de la parte superior de la página para seleccionar el servicio
default
y la versiónah-builtin-python-bundle
.
Inhabilitar el acceso a Datastore Admin
Ejecuta el siguiente comando y sustituye
PROJECT_ID
por el ID de tu proyecto: Google Cloudcurl -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