Administration Datastore

Firestore en mode Datastore offrait auparavant la possibilité d'activer l'administration Datastore, un module facultatif doté de fonctionnalités de suppression et de sauvegarde groupées. L'administration Datastore a été remplacée par des alternatives plus fiables :

Accès à l'administration Datastore

Si vous avez déjà activé l'administration Datastore, vous pouvez continuer à accéder au module en accédant à https://ah-builtin-python-bundle-dot-PROJECT_ID.appspot.com/_ah/datastore_admin?app_id=PROJECT_ID, où PROJECT_ID correspond à l'ID de votre projet Google Cloud. Si vous désactivez l'administration Datastore, vous ne pourrez pas réactiver le module.

Mises en garde concernant l'utilisation des fonctionnalités d'administration Datastore

  • Pour les opérations de copie, de suppression et de sauvegarde, les mises à jour récentes sont susceptibles de ne pas s'appliquer.
  • Toutes les opérations d'administration Datastore sont exécutées au sein de votre application, et donc comptabilisées dans votre quota.
  • Nous vous recommandons vivement de désactiver l'écriture lors d'une sauvegarde ou d'une restauration.
  • Les entités existantes avec les mêmes clés seront écrasées lors d'une opération de copie/restauration. Les doublons ne sont pas créés si les opérations de copie/restauration sont effectuées plusieurs fois. Les opérations de copie/restauration ne suppriment pas les données supplémentaires.
  • Si vous utilisez une autre file d'attente que celle par défaut pour des opérations de sauvegarde/restauration, vous ne pouvez spécifier que la cible ah-builtin-python-bundle dans queue.yaml. Vous ne pouvez utiliser aucune autre cible.

Autorisations d'accès à la base de données

Par défaut, l'administration Datastore peut accéder à une base de données Datastore dans le même projet et ne nécessite pas d'autorisations de gestion de l'authentification et des accès pour Datastore.

Sauvegarder des données

Pour créer un fichier de sauvegarde pour les futures restaurations de données ou pour l'exportation, procédez comme suit :

  1. Si ce n'est pas déjà fait, créez un bucket de stockage pour votre projet. Si vous le souhaitez, vérifiez que le compte de service par défaut App Engine pour le projet a accès au bucket via la liste de contrôle d'accès. Cette action peut être définie par défaut au préalable et peut être remplacée, si nécessaire.

  2. (Recommandé) Désactivez les opérations d'écriture Cloud Datastore.

  3. Ouvrir la page "Administration Datastore"

  4. Sélectionnez les types d'entités que vous souhaitez sauvegarder.

  5. Cliquez sur Sauvegarde d'entités pour afficher le formulaire de sauvegarde.

  6. Notez qu'un nom de sauvegarde est fourni et qu'il inclut un horodatage.

    Vous devez modifier cette valeur si vous effectuez plus d'une sauvegarde par jour, car aucune sauvegarde n'est effectuée si une sauvegarde du même nom existe déjà.

  7. La file d'attente par défaut est utilisée pour la tâche de sauvegarde, que vous pouvez utiliser dans la plupart des cas.

    Si vous utilisez une autre file d'attente que celle par défaut pour des opérations de sauvegarde/restauration, vous ne pouvez spécifier que la cible ah-builtin-python-bundle dans queue.yaml. Vous ne pouvez utiliser aucune autre cible.

  8. Sélectionnez Google Cloud Storage comme emplacement de stockage de sauvegarde.

  9. Lorsque vous choisissez Cloud Storage, vous êtes invité à renseigner le nom du bucket dans lequel les sauvegardes doivent être stockées, au format [BUCKET_NAME]. Vous pouvez également spécifier le nom du bucket avec une structure de répertoires en guise de suffixe (exemple : [BUCKET_NAME]/backups/foo). Si ces dossiers n'existent pas, ils seront créés.

    ).
  10. Démarrez les tâches de sauvegarde en cliquant sur Sauvegarder des entités. Une page indiquant l'état de la tâche s'affiche. État de la tâche de sauvegarde

  11. Cliquez sur Retour à l'Administration Datastore pour consulter l'état de la sauvegarde.

  12. Une fois la sauvegarde terminée, réactivez les opérations d'écriture Cloud Datastore si vous les aviez désactivées.

Remarques concernant les opérations de sauvegarde et de restauration

La fonctionnalité de sauvegarde et de restauration est conçue pour vous aider à récupérer des données supprimées par inadvertance ou pour vous permettre d'exporter des données. Vous pouvez sauvegarder toutes les entités, ou uniquement les types d'entités sélectionnés. Vous pouvez également restaurer des données depuis l'une de ces sauvegardes lorsque vous en avez besoin.

Les sauvegardes sont enregistrées sur Cloud Storage.

Notez que la sauvegarde ne contient aucun index. Lorsque vous effectuez une restauration, les index requis sont automatiquement recréés à l'aide des définitions d'index que vous avez importées avec votre application.

Vous pouvez également utiliser des fichiers de sauvegarde pour exporter vos données vers d'autres services Google Cloud, tels que BigQuery.

Les opérations de restauration n'attribuent pas de nouveaux ID aux entités. Les opérations de restauration utilisent les ID qui existaient au moment de la sauvegarde et écrasent toutes les entités existantes ayant le même ID. Lors d'une opération de restauration, les ID sont réservés à mesure que les entités sont restaurées. Cela permet d'éviter les conflits d'ID avec de nouvelles entités si les opérations d'écriture sont activées lorsqu'une restauration est en cours d'exécution. Les nouvelles entités ajoutées depuis la sauvegarde sont conservées.

À partir d'une sauvegarde, vous pouvez restaurer toutes les données ou ne restaurer que des types d'entités spécifiques. En outre, vous pouvez également vous servir de cette fonctionnalité pour restaurer une sauvegarde des données d'une application vers une autre application, à condition d'utiliser Cloud Storage pour vos sauvegardes.

Annuler une sauvegarde

Si des tâches de sauvegarde sont en cours d'exécution, elles apparaissent dans la liste des sauvegardes en attente sur l'écran d'administration de Cloud Datastore.

Pour annuler ces opérations de sauvegarde en cours d'exécution :

  1. Ouvrir la page "Administration Datastore"
  2. Dans la section Sauvegardes en attente, sélectionnez la sauvegarde dans la liste, puis cliquez sur Annuler.

Lorsque vous annulez une tâche de sauvegarde, App Engine tente de supprimer les données de sauvegarde qui ont été enregistrées jusqu'à maintenant. Toutefois, dans certains cas, des fichiers peuvent persister après l'annulation. Vous pouvez localiser ces fichiers à l'emplacement que vous avez choisi pour vos sauvegardes dans Google Cloud Storage et les supprimer en toute sécurité une fois l'annulation terminée. Les noms de ces fichiers commencent par le format suivant : datastore_backup_[BUCKET_NAME].

Obtenir des informations sur une sauvegarde

Vous souhaiterez peut-être connaître les détails d'une sauvegarde, tels que les types d'entités qu'elle contient, son emplacement d'enregistrement dans Google Cloud Storage, ainsi que son heure de début et de fin. Pour afficher ces informations de sauvegarde :

  1. Ouvrir la page "Administration Datastore"
  2. Sélectionnez une ou plusieurs sauvegardes dans la liste Sauvegardes ou Sauvegardes en attente.
  3. Cliquez sur Informations pour afficher des informations sur ces sauvegardes.
  4. Cliquez sur Retour pour revenir à l'écran principal d'administration de Cloud Datastore.

Restaurer des données

Pour effectuer une restauration à partir d'une sauvegarde, procédez comme suit :

  1. (Recommandé) Désactivez les opérations d'écriture Cloud Datastore pour votre application. En règle générale, il est recommandé de procéder ainsi pour éviter les conflits entre les données restaurées et les nouvelles données écrites dans Cloud Datastore.
  2. Ouvrir la page "Administration Datastore"
  3. Dans la liste des sauvegardes disponibles, sélectionnez la sauvegarde à partir de laquelle vous souhaitez effectuer la restauration.
  4. Cliquez sur Restaurer.
  5. La page de conseils qui s'affiche comprend la liste des entités avec des cases à cocher. Par défaut, toutes les entités seront restaurées. Décochez la case en regard de chaque entité que vous ne souhaitez pas restaurer.
  6. Toujours dans la page de conseils, veuillez prendre en compte que c'est la file d'attente par défaut avec ses paramètres de performance préconfigurés qui est utilisée pour la tâche de restauration. Remplacez-la par une autre file d'attente que vous avez configurée différemment si vous préférez des caractéristiques de performances différentes, en vous assurant que la cible de la file choisie spécifiée dans queue.yaml est bien ah-builtin-python-bundle.
  7. Lancez la restauration en cliquant sur Restaurer. Une page indiquant l'état de la tâche s'affiche.
  8. Cliquez sur Retour à l'Administration Datastore pour consulter l'état de la restauration.État de la restauration
  9. Une fois la restauration terminée, réactivez les opérations d'écriture Cloud Datastore pour votre application si vous les aviez désactivées.

Restaurer des données vers une autre application

Si vous sauvegardez les données à l'aide de Google Cloud Storage, vous pouvez restaurer des sauvegardes vers d'autres applications que celle utilisée pour la création de la sauvegarde.

Pour restaurer les données de sauvegarde d'une application source vers une application cible :

  1. Créez une stratégie de gestion de l'authentification et des accès (IAM) sur le bucket de stockage de l'application source, avec les autorisations suivantes :

    • Principal : [PROJECT_ID]@appspot.gserviceaccount.com
    • Rôles : Storage Legacy Bucket Reader et Storage Legacy Object Reader

    [PROJECT_ID] est l'ID de projet de l'application cible.

  2. Effectuez une nouvelle sauvegarde dans l'application source.

  3. (Recommandé) Désactivez les opérations d'écriture Cloud Datastore pour votre application cible afin d'éviter les conflits entre les données restaurées et les nouvelles données écrites dans Cloud Datastore.

  4. Ouvrir la page "Administration Datastore"

  5. Dans la zone de texte en regard du bouton Import Backup Information (Importer les informations de sauvegarde), spécifiez le bucket de l'application source contenant la sauvegarde, au format /gs/[BUCKET_NAME]. Bucket de stockage de sauvegarde
    Vous pouvez également fournir le descripteur de fichier pour une sauvegarde spécifique. Pour afficher le descripteur de fichier d'une sauvegarde, ouvrez la page Administration de l'application source, sélectionnez la sauvegarde, puis cliquez sur Informations. Le descripteur de fichier devrait s'afficher à côté du libellé Descripteur.

  6. Cliquez sur Importer les informations de sauvegarde.
    La page de sélection résultante affiche les sauvegardes disponibles pour le bucket que vous avez choisi, sauf si vous avez spécifié une sauvegarde à l'aide de son descripteur. Sélectionnez la sauvegarde souhaitée et cliquez sur l'une des options suivantes :

    • Ajoutez à la liste de sauvegarde si vous souhaitez que cette sauvegarde soit conservée dans la liste des sauvegardes disponibles pour votre application.
    • Restaurez à partir d'une sauvegarde si vous souhaitez restaurer à partir de cette sauvegarde, mais ne souhaitez pas que la sauvegarde s'affiche dans la liste des sauvegardes disponibles pour votre application.
  7. La page de conseils qui s'affiche comprend la liste des entités avec des cases à cocher. Par défaut, toutes les entités seront restaurées. Décochez la case en regard de chaque entité que vous ne souhaitez pas restaurer.

  8. Toujours dans la page de conseils, veuillez prendre en compte que c'est la file d'attente par défaut avec ses paramètres de performance préconfigurés qui est utilisée pour la tâche de restauration. Remplacez-la par une autre file d'attente que vous avez configurée différemment si vous préférez des caractéristiques de performances différentes.

  9. Lancez la restauration en cliquant sur Restaurer. Une page indiquant l'état de la tâche s'affiche.

  10. Une fois la restauration terminée, réactivez les opérations d'écriture Cloud Datastore si vous les aviez désactivées.

Consulter les informations sur l'utilisation des ressources

Des sauvegardes très fréquentes entraînent souvent des coûts plus élevés. Lorsque vous exécutez une tâche d'administration Cloud Datastore, vous exécutez en réalité une tâche MapReduce sous-jacente. Les tâches MapReduce entraînent une augmentation des heures d'instance frontend en plus des opérations sur Storage et de l'utilisation de Storage.

Pour afficher des informations concernant l'utilisation de vos ressources, procédez comme suit :

  1. Accédez à la page App Engine de la console Google Cloud.

    Accéder à la page App Engine

  2. Sélectionnez le service default et la version ah-builtin-python-bundle dans les menus déroulants en haut de la page.

Activer ou désactiver des écritures en base de données

En règle générale, il est recommandé de désactiver les opérations d'écriture avant d'effectuer une restauration. Cela permet d'éviter les conflits entre les données restaurées et les nouvelles données écrites dans votre base de données.

Désactiver les opérations d'écriture empêche les entités d'être modifiées par :

  • le lecteur Datastore ;
  • les applications qui utilisent l'API Datastore.

Pour activer ou désactiver les écritures :

  1. Accédez à la page Administration.

    Accéder à la page d'administration

  2. Cliquez sur Activer les opérations d'écriture pour activer les opérations d'écriture ou sur Désactiver les opérations d'écriture pour les désactiver. Le texte du bouton varie en fonction de l'état de votre projet.

Afficher l'utilisation des ressources de l'administration Datastore

Lorsque vous exécutez une tâche d'administration Datastore, vous exécutez en réalité une tâche MapReduce sous-jacente. Les tâches MapReduce entraînent une augmentation des heures d'instance frontend en plus des opérations sur Storage et de l'utilisation de Storage.

Pour afficher des informations concernant l'utilisation de vos ressources, procédez comme suit :

  1. Accédez à la page App Engine de la console Google Cloud.

    Accéder à la page App Engine

  2. Sélectionnez le service default et la version ah-builtin-python-bundle dans les menus déroulants en haut de la page.

Désactiver l'accès à l'administration Datastore

  1. Exécutez la commande suivante en remplaçant PROJECT_ID par l'ID de votre projet 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