Administrador de Datastore

Con anterioridad, Firestore en modo Datastore admitía la capacidad de habilitar el administrador de Datastore, un módulo opcional con funciones de copia de seguridad y eliminación de forma masiva. El administrador de Datastore se reemplazó por alternativas más confiables:

Accede al administrador de Datastore

Si habilitaste el administrador de Datastore con anterioridad, podrás seguir accediendo al módulo si visitas https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID, en el que PROJECT_ID es el ID de tu proyecto de Google Cloud. Si inhabilitas el administrador de Datastore, no podrás volver a habilitar el módulo.

Advertencias sobre el uso de las funciones del administrador de Datastore

  • Para copiar, borrar y hacer copias de seguridad, puede que no se consideren las actualizaciones recientes.
  • Todas las operaciones del administrador de Datastore ocurren en tu aplicación y, por lo tanto, se toman en cuenta en tu cuota.
  • Te recomendamos enfáticamente inhabilitar las operaciones de escritura durante una copia de seguridad o restablecimiento.
  • Durante una operación de copia o restablecimiento, se reemplazan las entidades existentes con las mismas claves. No se crean duplicados si se efectúan varias operaciones de copia o restablecimiento. Estas operaciones no borran datos adicionales.
  • Si usas una cola no predeterminada para la copia de seguridad y el restablecimiento, solo puedes especificar el ah-builtin-python-bundle de destino en queue.yaml. No puedes usar otros destinos.

Permisos de acceso a la base de datos

De forma predeterminada, el administrador de Datastore puede acceder a una base de datos de Datastore en el mismo proyecto y no requiere permisos de administración de identidades y accesos para Datastore.

Crea una copia de seguridad de los datos

Sigue los pasos que se indican a continuación a fin de crear un archivo de copia de seguridad para futuros restablecimientos de datos o para exportaciones.

  1. Si aún no lo hiciste, crea un bucket de almacenamiento para el proyecto. De forma opcional, verifica que la cuenta de servicio predeterminada de App Engine para el proyecto tenga acceso al bucket mediante la Lista de control de acceso. Es posible que esto ya esté configurado de forma predeterminada y puede anularse de ser necesario.

  2. (Recomendado) Inhabilita las operaciones de escritura de Cloud Datastore.

  3. Abrir la página de administración de Datastore

  4. Selecciona los tipos de entidades para las que deseas crear una copia de seguridad.

  5. Haz clic en Crear una copia de seguridad para las entidades a fin de mostrar el formulario de copia de seguridad.

  6. Ten en cuenta que se proporciona un nombre de copia de seguridad y que incluye una hora de registro.

    Debes cambiar este valor si haces más de una copia de seguridad por día, ya que no se crea una copia de seguridad si existe otra con el mismo nombre.

  7. Ten en cuenta que se usa la cola predeterminada para el trabajo de copia de seguridad. Puedes usarla en la mayoría de los casos.

    Si usas una cola no predeterminada para la copia de seguridad y el restablecimiento, solo puedes especificar el ah-builtin-python-bundle de destino en queue.yaml. No puedes usar otros destinos.

  8. Selecciona Google Cloud Storage como la ubicación de almacenamiento de la copia de seguridad.

  9. Cuando seleccionas Cloud Storage, se te solicita el nombre del bucket en el que deben almacenarse los datos, con el formato [BUCKET_NAME]. De forma opcional, puedes especificar el nombre del bucket con el sufijo de una estructura de directorio, como [BUCKET_NAME]/backups/foo. Si esas carpetas no existen, se crearán.

  10. A fin de iniciar los trabajos de copia de seguridad, haz clic en Backup Entities. Se mostrará una página con el estado del trabajo.Estado del trabajo de copia de seguridad

  11. Haz clic en Back to Datastore Admin para ver el estado de la copia de seguridad.

  12. Una vez que la copia de seguridad esté completa, si inhabilitaste las operaciones de escritura de Cloud Datastore, vuelve a habilitarlas.

Consideraciones para las copias de seguridad y los restablecimientos

La función de copias de seguridad y restablecimientos está diseñada para ayudar a que te recuperes del borrado accidental de datos o permitir que exportes datos. Puedes crear copias de seguridad de todas las entidades o solo de los tipos de entidades que selecciones, y puedes restablecerlas desde una de estas copias siempre que lo necesites.

Las copias de seguridad se guardan en Cloud Storage.

Ten en cuenta que la copia de seguridad no contiene índices. Cuando restableces datos, los índices necesarios se vuelven a compilar de forma automática mediante las definiciones de índice que subiste con la aplicación.

También puedes usar archivos de copia de seguridad para exportar tus datos a otros servicios de Google Cloud, como BigQuery.

Los restablecimientos no asignan nuevos ID a las entidades. En su lugar, usan los ID que existían en el momento en que se realizó la copia de seguridad y reemplazan cualquier entidad existente con el mismo ID. Durante un restablecimiento, los ID se reservan a medida que se restablecen las entidades. Esto debería evitar que los ID entren en conflicto con nuevas entidades si las operaciones de escritura están habilitadas mientras se ejecuta un restablecimiento. Se retienen las nuevas entidades que se agregaron a partir de la copia de seguridad.

Puedes restablecer todos los datos desde una copia de seguridad o puedes restablecer tipos de entidades específicas desde la copia. Además, puedes usar esta función para restablecer una copia de seguridad de los datos de una aplicación en otra aplicación, siempre y cuando uses Cloud Storage para tus copias de seguridad.

Anula una copia de seguridad

Si hay trabajos de copia de seguridad en ejecución, aparecen en la lista Copias de seguridad pendientes en la pantalla de administración de Cloud Datastore.

Para detener estas copias de seguridad en ejecución, realiza lo siguiente:

  1. Abrir la página de administración de Datastore
  2. En la sección Copias de seguridad pendientes, selecciona la copia de seguridad de la lista y haz clic en Anular.

Cuando anulas un trabajo de copia de seguridad, App Engine intenta borrar los datos que se guardaron hasta ese momento. Sin embargo, puede que en algunos casos ciertos archivos permanezcan después de la anulación. Puedes encontrar estos archivos en la ubicación que elegiste para las copias de seguridad en Google Cloud Storage y borrarlos de forma segura una vez que finalice la anulación. Los nombres de esos archivos comienzan con el siguiente patrón: datastore_backup_[BUCKET_NAME].

Cómo encontrar información sobre una copia de seguridad

Puede que quieras buscar detalles sobre una copia de seguridad, como el tipo de entidad que contiene, el lugar en que se guardó en Google Cloud Storage y la hora de inicio y finalización. Para mostrar esta información de copia de seguridad, realiza lo siguiente:

  1. Abrir la página de administración de Datastore
  2. Selecciona una o más copias de seguridad de la lista Copias de seguridad o Copias de seguridad pendientes.
  3. Haz clic en Información para mostrar detalles sobre esas copias de seguridad.
  4. Haz clic en Atrás para volver a la pantalla principal de administración de Cloud Datastore.

Cómo restablecer datos

Para restablecer desde una copia de seguridad, realiza lo siguiente:

  1. (Recomendado) Inhabilita las operaciones de escritura de Cloud Datastore para tu aplicación. En general, es una buena idea hacerlo para evitar conflictos entre el restablecimiento y los nuevos datos escritos en Cloud Datastore.
  2. Abrir la página de administración de Datastore
  3. Selecciona la copia de seguridad a partir de la cual deseas restablecer desde la lista de copias de seguridad disponibles.
  4. Haz clic en Restablecer.
  5. En la página de asesoría que se muestra, observa la lista de entidades con casillas de verificación. De forma predeterminada, se restablecerán todas las entidades. Desmarca la casilla de verificación junto a cada entidad que no deseas restablecer.
  6. En la página de asesoría, también puedes observar que la cola predeterminada, con su configuración de rendimiento predeterminada, se usa para el trabajo de restablecimiento. Cambia esta cola a otra que hayas configurado de manera diferente si necesitas otras características de rendimiento de cola. Asegúrate de que la cola seleccionada no tenga ningún destino especificado en queue.yaml distinto de ah-builtin-python-bundle.
  7. Haz clic en Restablecer para iniciar el restablecimiento. Se mostrará una página con el estado del trabajo.
  8. Haz clic en Back to Datastore Admin para ver el estado del restablecimiento.Estado de restablecimiento
  9. Una vez que finalice el restablecimiento, si inhabilitaste las operaciones de escritura, vuelve a habilitar las operaciones de escritura de Cloud Datastore para tu aplicación.

Cómo restablecer datos en otra aplicación

Si creas una copia de seguridad de tus datos con Google Cloud Storage, puedes restablecer copias de seguridad de otras aplicaciones además de la que utilizaste para crear la copia de seguridad.

Para restablecer datos de copia de seguridad desde una aplicación fuente a una aplicación meta, realiza lo siguiente:

  1. Crea una política de administración de identidades y accesos (IAM) en el bucket de almacenamiento de la aplicación fuente con el siguiente permiso:

    • Principal: [PROJECT_ID]@appspot.gserviceaccount.com
    • Funciones: Storage Legacy Bucket Reader y Storage Legacy Object Reader

    en el que [PROJECT_ID] es el ID del proyecto de la aplicación meta.

  2. Crea una copia de seguridad nueva en la aplicación fuente.

  3. (Recomendado) Inhabilita las operaciones de escritura de Cloud Datastore de la aplicación meta para evitar conflictos entre los datos restablecidos y los nuevos que se escriben en Cloud Datastore.

  4. Abrir la página de administración de Datastore

  5. En el cuadro de texto junto al botón Import Backup Information, especifica el bucket de la aplicación de origen que contiene la copia de seguridad, en el formato /gs/[BUCKET_NAME]. Bucket de almacenamiento de copia de seguridad
    Como alternativa, proporciona el controlador de archivos para una copia de seguridad específica. A fin de ver el controlador de archivos de una copia de seguridad, abre la página Administrador de la aplicación de origen, selecciona la copia de seguridad y haz clic en Información. Deberías ver el controlador de archivos junto a la etiqueta Handle.

  6. Haz clic en Import Backup Information.
    La página de selección que se genera muestra las copias de seguridad disponibles para el bucket que indicaste, a menos que hayas especificado una copia de seguridad por su controlador. Selecciona la copia de seguridad que desees y haz clic en una de las siguientes opciones:

    • Agregar a la lista de copias de seguridad: si deseas que esta copia de seguridad se retenga en la lista de copias disponibles para tu aplicación
    • Restablecer desde copia de seguridad: si deseas restablecer desde esta copia de seguridad, pero no quieres que se muestre en la lista de copias de seguridad disponibles para tu aplicación
  7. En la página de asesoría que se muestra, observa la lista de entidades con casillas de verificación. De forma predeterminada, se restablecerán todas las entidades. Desmarca la casilla de verificación junto a cada entidad que no deseas restablecer.

  8. En la página de asesoría, también puedes observar que la cola predeterminada, con su configuración de rendimiento preconfigurada, se utiliza para el trabajo de restablecimiento. Cambia esto a otra cola que hayas configurado de otra forma si necesitas características de rendimiento de cola diferentes.

  9. Haz clic en Restablecer para iniciar el restablecimiento. Se mostrará una página con el estado del trabajo.

  10. Una vez que el restablecimiento esté completo, si inhabilitaste las operaciones de escritura de Cloud Datastore, vuelve a habilitarlas.

Cómo ver información sobre el uso de recursos

Realizar copias de seguridad con mucha frecuencia suele generar costos más altos. Cuando ejecutas un trabajo del administrador de Cloud Datastore, en realidad ejecutas un trabajo subyacente de MapReduce. Los trabajos de MapReduce hacen que aumenten las horas de instancia de frontend, así como las operaciones y el uso de Storage.

Para ver el uso que haces de los recursos, sigue estos pasos:

  1. Visita la página de App Engine de la consola de Google Cloud.

    Ir a la página App Engine

  2. Usa los menús desplegables en la parte superior de la página para seleccionar el servicio default y la versión ah-builtin-python-bundle.

Habilita o inhabilita escrituras de base de datos

Por lo general, conviene inhabilitar las operaciones de escritura antes de hacer un restablecimiento. Esto ayuda a evitar conflictos entre el restablecimiento y cualquier dato nuevo que se escriba en tu base de datos.

Inhabilitar las operaciones de escritura evita que las entidades cambien debido a lo siguiente:

  • El visualizador de Datastore
  • Las aplicaciones que usan la API de Datastore

Para habilitar o inhabilitar operaciones de escritura, sigue estos pasos:

  1. Ve a la página Administrador.

    Ir a la página Administrador

  2. Haz clic en Habilitar escrituras para habilitar operaciones de escritura o en Inhabilitar escrituras para inhabilitarlas. El texto del botón varía según el estado de tu proyecto.

Visualiza el uso de recursos del 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 de frontend, así como las operaciones y el uso de Storage.

Para ver el uso que haces de los recursos, sigue estos pasos:

  1. Visita la página de App Engine de la consola de Google Cloud.

    Ir a la página App Engine

  2. Usa los menús desplegables en la parte superior de la página para seleccionar el servicio default y la versión ah-builtin-python-bundle.

Inhabilita el acceso del administrador de Datastore

  1. Ejecuta el siguiente comando y reemplaza PROJECT_ID por el ID del proyecto de 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