Creazione e configurazione di profili di app

Questa pagina spiega come creare e gestire i profili di applicazione o profili app di un'istanza Bigtable. Inoltre, mostra come utilizzare un profilo dell'app personalizzato per connettersi a Bigtable.

Prima di leggere questa pagina, devi capire che cosa sono i profili delle app e come funzionano. In particolare, assicurati di comprendere la differenza tra un profilo dell'app standard, un profilo dell'app configurato per utilizzare il calcolo standard, e un profilo dell'app Data Boost, un profilo dell'app che utilizza il serverless computing di Data Boost per eseguire job di lettura con una maggiore ampiezza di throughput. Per ulteriori informazioni su Data Boost e sulle sue differenze rispetto al calcolo con i nodi del cluster di cui è stato eseguito il provisioning, consulta la panoramica di Data Boost.

Se utilizzi profili app standard per configurare la replica, devi anche conoscere la panoramica della replica di Bigtable, esaminare gli esempi di impostazioni di replica e decidere quali sono le impostazioni migliori per il tuo caso d'uso.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare, configurare o eliminare un profilo dell'app, chiedi all'amministratore di concederti il ruolo IAM Amministratore Bigtable (roles/bigtable.admin) nell'istanza. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea un profilo dell'app

Puoi creare molti profili di app personalizzati diversi per ogni istanza. Utilizza i profili delle app personalizzati per controllare il modo in cui ogni applicazione o ogni funzione distinta all'interno di un'applicazione interagisce con un'istanza. Ad esempio, puoi utilizzare un profilo dell'app per un'applicazione batch per isolare il relativo traffico in un singolo cluster e un altro profilo dell'app per fornire alta disponibilità per un'altra applicazione.

Creare un profilo dell'app standard

Per creare un profilo dell'app standard:

Console

gcloud

  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Utilizza il comando bigtable app-profiles create per creare un profilo dell'app:

    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] \
        [–-row-affinity]
    

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.

    Il comando accetta i seguenti flag facoltativi:

    • --description=DESCRIPTION: una descrizione dettagliata del profilo dell'app.
    • --force: Ignora gli avvisi relativi a potenziali problemi e conflitti con altri profili dell'app.
    • --route-any: abilita il routing multi-cluster per inoltrare le richieste a qualsiasi cluster disponibile.

      Non puoi combinare questo flag con i flag --route-to o --transactional-writes.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: un elenco di cluster a cui indirizzare le richieste. Utilizza questa opzione se vuoi inoltrare le richieste solo ad alcuni dei cluster dell'istanza.

      Non puoi combinare questo flag con i flag --route-to o --transactional-writes.

    • --route-to=CLUSTER_ID: l'ID cluster a cui devono essere indirizzate tutte le richieste. Questo flag attiva il routing a un cluster singolo.

      Non puoi combinare questo flag con il flag --route-any.

    • --transactional-writes: abilita le transazioni su riga singola nel profilo dell'app.

      Non puoi combinare questo flag con i flag --route-any o --restrict-to.

    • --priority=PRIORITY: il livello di priorità che deve essere utilizzato dal profilo dell'app. I valori accettati sono PRIORITY_HIGH, PRIORITY_MEDIUM o PRIORITY_LOW.

    • –-row-affinity: abilita il routing in base all'affinità delle righe nel profilo dell'app.

      Non puoi combinare questo flag con i flag --route-to o --transactional-writes.

  3. Aggiorna il codice dell'applicazione per la connessione a Bigtable in modo che utilizzi il nuovo profilo dell'app.

Creare un profilo dell'app Data Boost

Per creare un profilo dell'app Data Boost, ovvero un profilo dell'app che utilizza il serverless computing di Data Boost, segui questi passaggi. Per assicurarti che il tuo workload sia compatibile con Data Boost, consulta le limitazioni.

Console

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza in cui vuoi creare il profilo dell'app.

  3. Nel riquadro a sinistra, fai clic su Profili delle applicazioni.

  4. Fai clic su Crea profilo applicazione.

  5. Seleziona Data Boost.

  6. Fai clic su Avanti.

  7. Inserisci l'ID profilo dell'applicazione.

    L'ID profilo dell'applicazione è un identificatore permanente per il profilo dell'app. L'applicazione fornisce questo ID quando si connette a Bigtable.

  8. Inserisci una descrizione del profilo dell'app.

  9. In Routing al cluster, seleziona il cluster a cui inoltrare le richieste.

  10. Fai clic su Crea profilo dell'app per creare il profilo dell'app.

  11. Aggiorna il codice dell'applicazione per la connessione a Bigtable in modo che utilizzi il nuovo profilo dell'app.

gcloud

  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Utilizza il comando gcloud beta bigtable app-profiles create per creare un profilo dell'app:

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

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.
    • CLUSTER_ID: l'ID cluster a cui devono essere indirizzate tutte le richieste. Questo flag attiva il routing a un cluster singolo.

Connettiti a un profilo dell'app personalizzato

Dopo aver creato un profilo dell'app personalizzato, puoi aggiornare il codice in modo che la tua applicazione utilizzi il profilo dell'app quando si connette a Bigtable.

Gli esempi riportati di seguito mostrano come specificare un profilo dell'app quando l'app crea un client Bigtable e si connette a un'istanza. Sostituisci [APP_PROFILE_ID] con il valore appropriato.

C#

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

Vai

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]')

Aggiornare un profilo dell'app

Puoi visualizzare i profili delle app di un'istanza e aggiornarne le impostazioni in qualsiasi momento. Bigtable ti avvisa di eventuali aggiornamenti che potrebbero causare cambiamenti imprevisti nel comportamento.

Per scoprire come aggiornare un profilo dell'app da standard a Data Boost o da Data Boost a standard, consulta Convertire un profilo dell'app.

Aggiornare un profilo dell'app standard

Per aggiornare un profilo dell'app standard:

Console

gcloud

  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Se non conosci l'ID del profilo dell'app, utilizza il comando bigtable app-profiles list per visualizzare un elenco dei profili dell'app dell'istanza:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente dell'istanza.

  3. (Facoltativo) Utilizza il comando bigtable app-profiles describe per visualizzare le impostazioni del profilo dell'app:

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

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.
  4. Utilizza il comando bigtable app-profiles update per aggiornare le impostazioni del profilo dell'app:

    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] \
        [--row-affinity]
    

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.

    Il comando accetta i seguenti flag facoltativi:

    • --description=DESCRIPTION: una descrizione dettagliata del profilo dell'app.
    • --force: Ignora gli avvisi relativi a potenziali problemi e conflitti con altri profili dell'app.
    • --route-any: abilita il routing multi-cluster per inoltrare le richieste a qualsiasi cluster disponibile.

      Non puoi combinare questo flag con i flag --route-to o --transactional-writes.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: un elenco di cluster a cui indirizzare le richieste. Utilizza questa opzione se vuoi inoltrare le richieste solo ad alcuni dei cluster dell'istanza.

      Non puoi combinare questo flag con i flag --route-to o --transactional-writes.

    • --route-to=CLUSTER_ID: l'ID cluster a cui devono essere indirizzate tutte le richieste. Questo flag attiva il routing a un cluster singolo.

      Non puoi combinare questo flag con il flag --route-any.

    • --transactional-writes: abilita le transazioni su riga singola nel profilo dell'app.

      Non puoi combinare questo flag con il flag --route-any.

    • --priority=PRIORITY: il livello di priorità utilizzato dal profilo dell'app. I valori accettati sono PRIORITY_HIGH, PRIORITY_MEDIUM o PRIORITY_LOW.

Aggiornare un profilo dell'app Data Boost

Per aggiornare il cluster da cui viene letto un profilo dell'app Data Boost:

Console

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Nella colonna Profili delle applicazioni, fai clic sul profilo dell'app che vuoi visualizzare o aggiornare.

    Se non vedi il profilo dell'app che vuoi modificare, puoi visualizzare un elenco completo facendo clic sul nome dell'istanza e poi su Profili delle applicazioni nel riquadro a sinistra.

  3. Seleziona il nuovo cluster a cui deve essere indirizzato il traffico e fai clic su Salva.

gcloud

  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Se non conosci l'ID del profilo dell'app, utilizza il comando bigtable app-profiles list per visualizzare un elenco dei profili dell'app dell'istanza:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente dell'istanza.

  3. (Facoltativo) Utilizza il comando bigtable app-profiles describe per visualizzare le impostazioni del profilo dell'app:

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

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.
  4. Utilizza il comando gcloud beta bigtable app-profiles update per aggiornare le impostazioni del profilo dell'app:

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

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.
    • CLUSTER_ID: l'ID del nuovo cluster da cui leggere

Convertire un profilo dell'app

Puoi convertire un profilo dell'app standard in un profilo dell'app Data Boost o un profilo dell'app Data Boost in un profilo dell'app standard. Prima di convertire un profilo dell'app, consulta le indicazioni riportate in Modifiche al profilo dell'app.

Passare da standard a Data Boost

Prima di aggiornare un profilo dell'app da standard (nodi di cui è stato eseguito il provisioning per il calcolo) a serverless computing di Data Boost, controlla le metriche di idoneità di Data Boost. Inoltre, tieni presente le limitazioni di Data Boost.

Console

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Nella colonna Profili delle applicazioni, fai clic sul profilo dell'app da aggiornare.

    Se non vedi il profilo dell'app che vuoi modificare, puoi visualizzare un elenco completo facendo clic sul nome dell'istanza, quindi su Profili delle applicazioni nel riquadro a sinistra.

  3. Seleziona Data Boost.

  4. Seleziona il cluster a cui devono essere inoltrate le richieste.

  5. Fai clic su Salva.

gcloud

  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Se non conosci l'ID del profilo dell'app, utilizza il comando bigtable app-profiles list per visualizzare un elenco dei profili dell'app dell'istanza:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente dell'istanza.

  3. (Facoltativo) Utilizza il comando bigtable app-profiles describe per visualizzare le impostazioni del profilo dell'app:

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

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.
  4. Utilizza il comando gcloud beta bigtable app-profiles update per convertire un profilo dell'app da standard a Data Boost:

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

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.
    • CLUSTER_ID: l'ID cluster a cui devono essere indirizzate tutte le richieste. Questo flag attiva il routing a un cluster singolo.

Passare da Data Boost a standard

Per modificare un profilo dell'app in modo che utilizzi Data Boost (serverless computing) anziché standard (nodi di cui è stato eseguito il provisioning per il calcolo), segui questi passaggi:

Console

gcloud

  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Se non conosci l'ID del profilo dell'app, utilizza il comando bigtable app-profiles list per visualizzare un elenco dei profili dell'app dell'istanza:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente dell'istanza.

  3. (Facoltativo) Utilizza il comando bigtable app-profiles describe per visualizzare le impostazioni del profilo dell'app:

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    
  4. Utilizza il comando gcloud beta bigtable app-profiles update per convertire il profilo dell'app:

    gcloud 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]
    

Fornisci quanto segue:

  • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
  • INSTANCE_ID: l'identificatore permanente dell'istanza.

Il comando accetta i seguenti flag facoltativi:

  • --route-any: abilita il routing multi-cluster per inoltrare le richieste a qualsiasi cluster disponibile.

    Non puoi combinare questo flag con i flag --route-to o --transactional-writes.

  • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: un elenco di cluster a cui indirizzare le richieste. Utilizza questa opzione se vuoi inoltrare le richieste solo ad alcuni dei cluster dell'istanza.

    Non puoi combinare questo flag con i flag --route-to o --transactional-writes.

  • --route-to=CLUSTER_ID: l'ID cluster a cui devono essere indirizzate tutte le richieste. Questo flag attiva il routing a un cluster singolo.

    Non puoi combinare questo flag con il flag --route-any.

  • --transactional-writes: abilita le transazioni su riga singola nel profilo dell'app.

    Non puoi combinare questo indicatore con gli indicatori --route-any o --restrict-to.

Eliminare un profilo dell'app

Puoi eliminare i profili delle app personalizzate di un'istanza, ma non il profilo dell'app predefinito.

Per eliminare un profilo dell'app personalizzato:

Console

  1. Apri l'elenco delle istanze Bigtable nella console Google Cloud.

    Apri l'elenco delle istanze

  2. Fai clic sull'istanza contenente il profilo dell'app che vuoi eliminare.

  3. Nel riquadro a sinistra, fai clic su Profili delle applicazioni.

  4. Apri il menu Altre azioni e poi fai clic su Elimina profilo dell'applicazione. Viene visualizzata una finestra di dialogo di conferma.

  5. Segui le istruzioni nella finestra di dialogo di conferma, quindi fai clic su Elimina.

gcloud

  1. Se non conosci l'ID istanza, utilizza il comando bigtable instances list per visualizzare un elenco delle istanze del progetto:

    gcloud bigtable instances list
    
  2. Se non conosci l'ID del profilo dell'app, utilizza il comando bigtable app-profiles list per visualizzare un elenco dei profili dell'app dell'istanza:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente dell'istanza.

  3. Utilizza il comando bigtable app-profiles delete per eliminare il profilo dell'app:

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

    Fornisci quanto segue:

    • APP_PROFILE_ID: l'identificatore permanente del profilo dell'app.
    • INSTANCE_ID: l'identificatore permanente dell'istanza.

    Il comando accetta il seguente flag facoltativo:

    --force: Ignora gli avvisi relativi a potenziali problemi e conflitti con altri profili dell'app.