Créer et configurer des profils d'application

Cette page explique comment créer et gérer les profils d'application d'une instance Bigtable. Elle montre également comment utiliser un profil d'application personnalisé pour se connecter à Bigtable.

Avant de lire cette page, il est recommandé de comprendre ce que sont les profils d'application et leur fonctionnement. Veillez en particulier à bien comprendre la différence entre un profil d'application standard, c'est-à-dire un profil d'application configuré pour utiliser le calcul standard et un profil d'application Data Boost, une application profil qui utilise Data Boost (Preview) sans serveur pour exécuter des jobs de lecture à haut débit. Pour en savoir plus sur Data Boost et ses différences avec le calcul basé sur des nœuds de cluster provisionnés consultez la page Data Boost présentation.

Si vous utilisez des profils d'application standards pour configurer la réplication, vous devez également avoir suivi la présentation de Bigtable réplication, et consultez les exemples de paramètres de réplication et décider des paramètres les mieux adaptés pour votre cas d'utilisation.

Rôles requis

Pour obtenir les autorisations nécessaires pour créer, configurer ou supprimer un profil d'application, demandez à votre administrateur de vous accorder le Administrateur Bigtable (roles/bigtable.admin) sur l'instance. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un profil d'application

Vous pouvez créer de nombreux profils d'application personnalisés pour chaque instance. Utilisez les profils d'application personnalisés pour contrôler la manière dont chaque application, ou chaque fonction distincte d'une application, interagit avec une instance. Vous pouvez par exemple utiliser un profil d'application pour une application par lots afin d'isoler son trafic dans un cluster unique, et un autre profil d'application pour permettre une haute disponibilité à une seconde application.

Créer un profil d'application standard

Pour créer un profil d'application standard, procédez comme suit:

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance sur laquelle vous souhaitez créer le profil d'application.

  3. Dans le volet de gauche, cliquez sur Profils d'application.

  4. Cliquez sur Créer un profil d'application.

  5. Saisissez l'ID du profil d'application.

    L'ID de profil d'application est un identifiant permanent du profil d'application. Votre application fournit cet ID lorsqu'elle se connecte à Bigtable.

  6. Saisissez une description du profil d'application.

  7. Dans le champ Routage vers les clusters, sélectionnez le routage à cluster unique ou multicluster. En savoir plus

  8. Si vous choisissez Cluster unique :

    1. Dans la liste déroulante, sélectionnez le cluster vers lequel acheminer les requêtes.

    2. Pour activer les transactions à ligne unique, procédez comme suit : cochez la case Autoriser les transactions à ligne unique.

  9. Si vous choisissez Multicluster :

    1. Pour acheminer les requêtes vers n'importe quel cluster de l'instance, Sélectionnez N'importe quel cluster dans la liste déroulante Groupe de clusters.
    2. Pour limiter le routage des requêtes à certains clusters de l'instance (routage de groupe de clusters), cochez la case correspondant à chaque cluster que vous souhaitez inclure dans le groupe de routage, puis cliquez sur OK.
  10. Cliquez sur Créer pour créer le profil d'application.

  11. Mettez à jour le code de votre application pour vous connecter à Bigtable afin qu'il puisse utiliser le nouveau profil d'application.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Utilisez la commande bigtable app-profiles create pour créer un profil d'application :

    gcloud bigtable app-profiles create APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--description=DESCRIPTION] \
        [--force] \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes] \
        [--priority=PRIORITY]
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.

    La commande accepte les options facultatives suivantes :

    • --description=DESCRIPTION: Description détaillée du profil d'application.
    • --force: Ignorer les avertissements concernant des problèmes et des conflits potentiels avec d'autres profils d'application.
    • --route-any : permet d'activer le routage multicluster pour rediriger les requêtes vers un cluster disponible.

      Vous ne pouvez pas associer cette option à --route-to ou --transactional-writes.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2... : liste des clusters vers lesquels les requêtes doivent être acheminées. Utilisez cette option si vous souhaitez n'acheminer les requêtes que vers certains clusters de l'instance.

      Vous ne pouvez pas associer cette option à --route-to ou --transactional-writes.

    • --route-to=CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un seul cluster.

      Vous ne pouvez pas associer cette option à --route-any.

    • --transactional-writes: Activez les transactions à ligne unique dans le profil d'application.

      Vous ne pouvez pas associer cette option à --route-any ou --restrict-to.

    • --priority=PRIORITY: niveau de priorité défini par le profil d'application doit utiliser. Les valeurs acceptées sont PRIORITY_HIGH, PRIORITY_MEDIUM ou PRIORITY_LOW.

  3. Mettez à jour le code de votre application pour établir la connexion à Bigtable, afin qu'il puisse utiliser le nouveau profil d'application.

Créer un profil d'application Data Boost

Pour créer un profil d'application Data Boost (un profil d'application qui utilise le calcul sans serveur Data Boost), procédez comme suit. Pour vous assurer que votre charge de travail est compatible avec Data Boost, consultez les limites.

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Utilisez la commande beta bigtable app-profiles create pour créer un profil d'application :

    gcloud bigtable app-profiles create APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --data-boost \
        --data-boost-compute-billing-owner=HOST_PAYS \
        --route-to=CLUSTER_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
    • CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un seul cluster.

Se connecter avec un profil d'application personnalisé

Après avoir créé un profil d'application personnalisé, vous pouvez mettre à jour votre code afin que votre application l'utilise pour se connecter à Bigtable.

Les exemples suivants montrent comment spécifier un profil d'application lorsqu'une application crée un client Bigtable et se connecte à une instance. Remplacez [APP_PROFILE_ID] par la valeur appropriée.

C#

var client = BigtableClient.Create(appProfileId: "[APP_PROFILE_ID]");

Go

clientConf := bigtable.ClientConfig{AppProfile:"[APP_PROFILE_ID]"}
client, err = bigtable.NewClientWithConfig(ctx, project, instance, clientConf)

HBase Java

// If using BigtableOptions directly:
optionsBuilder.setAppProfileId("[APP_PROFILE_ID]");

// If using BigtableOptionsFactory:
configuration.set(BigtableOptionsFactory.APP_PROFILE_ID_KEY, "[APP_PROFILE_ID]");

// If using system properties, set "google.bigtable.app_profile.id" to
// "[APP_PROFILE_ID]"

// If using CloudBigtableIO for Cloud Dataflow:
config.withConfiguration(BigtableOptionsFactory.APP_PROFILE_ID_KEY,
                         "[APP_PROFILE_ID]");

Node.js

const bigtable = new Bigtable({appProfileId: '[APP_PROFILE_ID]'});

Python

from google.cloud import bigtable

client = bigtable.Client(project=project_id)
instance = client.instance(instance_id)
table = bigtable.table.Table(table_id, instance, '[APP_PROFILE_ID]')

Mettre à jour un profil d'application

Vous pouvez afficher les profils d'application d'une instance et mettre à jour leurs paramètres à tout moment. Bigtable vous avertit de toute mise à jour pouvant entraîner des changements de comportement inattendus.

Pour savoir comment passer d'un profil d'application standard à Data Boost ou de Data Boost à standard, consultez Convertir un profil d'application.

Mettre à jour un profil d'application standard

Pour mettre à jour un profil d'application standard, procédez comme suit:

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud.

    Ouvrir la liste des instances

  2. Dans la colonne Profils d'application, cliquez sur le profil que vous souhaitez afficher ou mettre à jour.

    Si vous ne voyez pas le profil d'application que vous souhaitez modifier, vous pouvez afficher une liste complète en cliquant sur le nom de l'instance, puis en cliquant sur Profils d'application dans le volet de gauche.

  3. Mettez à jour les paramètres selon vos besoins, puis cliquez sur Enregistrer ou Annuler pour quitter sans enregistrer.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance :

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
  4. Exécutez la commande bigtable app-profiles update pour mettre à jour les paramètres du profil d'application :

    gcloud bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--description=DESCRIPTION] \
        [--force] \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.

    La commande accepte les options facultatives suivantes :

    • --description=DESCRIPTION: Description détaillée du profil d'application.
    • --force: Ignorer les avertissements concernant des problèmes et des conflits potentiels avec d'autres profils d'application.
    • --route-any : permet d'activer le routage multicluster pour rediriger les requêtes vers un cluster disponible.

      Vous ne pouvez pas associer cette option à --route-to ou --transactional-writes.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2... : liste des clusters vers lesquels les requêtes doivent être acheminées. Utilisez cette option si vous souhaitez n'acheminer les requêtes que vers certains clusters de l'instance.

      Vous ne pouvez pas associer cette option à --route-to ou --transactional-writes.

    • --route-to=CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un seul cluster.

      Vous ne pouvez pas associer cette option à --route-any.

    • --transactional-writes : permet d'activer les transactions à ligne unique dans le profil d'application.

      Vous ne pouvez pas associer cette option à --route-any.

    • --priority=PRIORITY : niveau de priorité utilisé par le profil d'application. Les valeurs acceptées sont PRIORITY_HIGH, PRIORITY_MEDIUM ou PRIORITY_LOW.

Mettre à jour un profil d'application Data Boost

Pour mettre à jour le cluster à partir duquel un profil d'application Data Boost lit les données, procédez comme suit : procédez comme suit:

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance :

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
  4. Exécutez la commande beta bigtable app-profiles update pour mettre à jour les paramètres du profil d'application :

    gcloud beta bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --route-to=CLUSTER_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
    • CLUSTER_ID : ID du nouveau cluster à lire

Convertir un profil d'application

Vous pouvez convertir un profil d'application standard en profil d'application Data Boost ou un profil d'application Data Boost en profil d'application standard. Avant de commencer convertir un profil d'application, consultez les conseils fournis dans l'article Profil d'application modifications.

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance :

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
  4. Utilisez le beta bigtable app-profiles update pour convertir un profil d'application standard en Data Boost:

    gcloud bigtable app-profile-update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --data-boost \
        --data-boost-compute-billing-owner=HOST_PAYS \
        --route-to=CLUSTER_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.
    • CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un seul cluster.

Convertir un profil d'application standard en Data Boost

Avant de mettre à jour un profil d'application standard (nœuds provisionnés pour le calcul) au calcul sans serveur Data Boost, vérifiez l'éligibilité à Data Boost métriques.

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance :

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.

Convertir un profil d'application Data Boost en profil standard

Pour modifier un profil d'application qui utilise Data Boost (calcul sans serveur) en standard (nœuds provisionnés pour le calcul) procédez comme suit:

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance :

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. (Facultatif) Exécutez la commande bigtable app-profiles describe pour afficher les paramètres du profil d'application :

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    
  4. Utilisez la commande beta bigtable app-profiles update pour convertir le profil d'application :

    gcloud beta bigtable app-profiles update APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        --standard \
        [--route-any] \
        [--restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...]
        [--route-to=CLUSTER_ID] \
        [--transactional-writes]
    

Indiquez les éléments suivants :

  • APP_PROFILE_ID : identifiant permanent du profil d'application.
  • INSTANCE_ID : identifiant permanent de l'instance.

La commande accepte les options facultatives suivantes :

  • --route-any: Activez le routage multicluster pour acheminer les requêtes vers n'importe quel cluster disponible.

    Vous ne pouvez pas associer cette option à --route-to ou --transactional-writes.

  • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2... : liste des clusters vers lesquels les requêtes doivent être acheminées. Utilisez cette option si vous souhaitez n'acheminer les requêtes que vers certains clusters de l'instance.

    Vous ne pouvez pas associer cette option à --route-to ou --transactional-writes.

  • --route-to=CLUSTER_ID : ID du cluster vers lequel toutes les demandes doivent être acheminées. Cette option active le routage vers un seul cluster.

    Vous ne pouvez pas associer cette option à --route-any.

  • --transactional-writes: Activez les transactions à ligne unique dans le profil d'application.

    Vous ne pouvez pas associer cette option à --route-any ou --restrict-to.

Supprimer un profil d'application

Vous pouvez supprimer les profils d'application d'une instance, mais pas le profil d'application par défaut.

Pour supprimer un profil d'application personnalisé, procédez comme suit :

Console

  1. Ouvrez la liste des instances Bigtable dans la console Google Cloud.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance qui contient le profil d'application que vous souhaitez supprimer.

  3. Dans le volet de gauche, cliquez sur Profils d'application.

  4. Ouvrez le menu Autres actions , puis cliquez sur Supprimer le profil d'application. Une boîte de dialogue de confirmation s'affiche.

  5. Suivez les instructions de la boîte de dialogue de confirmation, puis cliquez sur Supprimer.

gcloud

  1. Si vous ne connaissez pas l'ID d'instance, exécutez la commande bigtable instances list pour afficher la liste des instances du projet :

    gcloud bigtable instances list
    
  2. Si vous ne connaissez pas l'ID du profil d'application, exécutez la commande bigtable app-profiles list pour afficher la liste des profils d'application de l'instance :

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Remplacez INSTANCE_ID par l'identifiant permanent de l'instance.

  3. Exécutez la commande bigtable app-profiles delete pour supprimer le profil d'application :

    gcloud bigtable app-profiles delete APP_PROFILE_ID \
        --instance=INSTANCE_ID \
        [--force]
    

    Indiquez les éléments suivants :

    • APP_PROFILE_ID : identifiant permanent du profil d'application.
    • INSTANCE_ID : identifiant permanent de l'instance.

    La commande accepte l'option facultative suivante :

    --force : permet d'ignorer les avertissements relatifs aux problèmes et aux conflits potentiels avec d'autres profils d'application.