Creazione e configurazione di profili di app

Questa pagina spiega come creare e gestire i profili di app o i profili di applicazione di un'istanza Bigtable. Illustra inoltre come utilizzare un profilo app personalizzato per la connessione a Bigtable.

Prima di leggere questa pagina, è bene che tu comprenda cosa sono i profili delle app e come funzionano. In particolare, assicurati di comprendere la differenza tra un profilo di app standard, ovvero un profilo di app configurato per utilizzare il calcolo standard, e un profilo di app Data Boost, ovvero un profilo di app che utilizza il calcolo serverless Data Boost (anteprima) per eseguire job di lettura ad alta velocità effettiva. Per ulteriori informazioni su Data Boost e sulle sue differenze rispetto al calcolo mediante nodi cluster di cui è stato eseguito il provisioning, consulta la panoramica di Data Boost.

Se utilizzi profili di app standard per configurare la replica, dovresti anche conoscere la panoramica della replica di Bigtable, nonché esaminare gli esempi di impostazioni di replica e decidere quali sono le impostazioni più adatte al tuo caso d'uso.

Ruoli obbligatori

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

Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea un profilo per l'app

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

Crea un profilo di app standard

Per creare un profilo di app standard, segui questi passaggi:

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 applicazione.

  4. Fai clic su Crea profilo applicazione.

  5. Inserisci l'ID profilo di applicazione.

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

  6. Inserisci una descrizione del profilo dell'app.

  7. In Routing dei cluster, seleziona il routing a cluster singolo o multi-cluster. Scopri di più.

  8. Se scegli Cluster singolo:

    1. Utilizza il menu a discesa per selezionare il cluster a cui indirizzare le richieste.

    2. Se devi abilitare le transazioni su riga singola, seleziona la casella di controllo Consenti transazioni su riga singola.

  9. Se scegli Multi-cluster:

    1. Per instradare le richieste a qualsiasi cluster nell'istanza, seleziona Qualsiasi cluster nel menu a discesa Gruppo di cluster.
    2. Per limitare il routing delle richieste solo ad alcuni cluster nell'istanza (routing dei gruppi di cluster), seleziona la casella di controllo per ogni cluster da includere nel gruppo di routing, poi fai clic su OK.
  10. Fai clic su Crea 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 tuo progetto:

    gcloud bigtable instances list
    
  2. Utilizza il comando bigtable app-profiles create per creare un profilo di 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]
    

    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 su potenziali problemi e conflitti con altri profili di app.
    • --route-any: abilita il routing a cluster multipli per instradare 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 devono essere instradate le richieste. Utilizza questa opzione se vuoi instradare le richieste solo ad alcuni cluster nell'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 instradate tutte le richieste. Questo flag consente il routing a 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 utilizzare il profilo dell'app. I valori accettati sono PRIORITY_HIGH, PRIORITY_MEDIUM o PRIORITY_LOW.

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

Crea un profilo dell'app Data Boost

Per creare un profilo dell'app Data Boost, che utilizza il serverless computing Data Boost, segui questi passaggi. Per assicurarti che il carico di lavoro sia compatibile con Data Boost, esamina le limitazioni.

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

    gcloud bigtable instances list
    
  2. Utilizza il comando beta bigtable app-profiles create per creare un profilo di 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 instradate tutte le richieste. Questo flag consente il routing a cluster singolo.

Connetti con un profilo app personalizzato

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

I seguenti esempi 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]");

Go

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

Java HBase

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

Aggiorna il profilo di un'app

Puoi visualizzare i profili dell'app di un'istanza e aggiornarne le impostazioni in qualsiasi momento. Bigtable ti avvisa in caso di aggiornamenti che potrebbero causare variazioni impreviste del comportamento.

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

Aggiorna un profilo di app standard

Per aggiornare un profilo dell'app standard, segui questi passaggi:

Console

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

    Apri l'elenco delle istanze

  2. Nella colonna Profili applicazione, fai clic sul profilo di applicazione che vuoi visualizzare o aggiornare.

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

  3. Aggiorna le impostazioni in base alle tue esigenze, poi fai clic su Salva oppure su Annulla per uscire senza salvare.

gcloud

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

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

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente per l'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]
    

    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 su potenziali problemi e conflitti con altri profili di app.
    • --route-any: abilita il routing a cluster multipli per instradare 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 devono essere instradate le richieste. Utilizza questa opzione se vuoi instradare le richieste solo ad alcuni cluster nell'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 instradate tutte le richieste. Questo flag consente il routing a 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.

Aggiorna un profilo dell'app Data Boost

Per aggiornare il cluster da cui legge un profilo dell'app Data Boost, segui questi passaggi:

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

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

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente per l'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 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 eseguire la lettura

Converti il profilo di un'app

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

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

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

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente per l'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. Usa il comando beta bigtable app-profiles update per convertire un profilo di app da standard a 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
    

    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 instradate tutte le richieste. Questo flag consente il routing a cluster singolo.

Converti il profilo di un'app da standard a Data Boost

Prima di aggiornare un profilo di un'app da standard (nodi di cui è stato eseguito il provisioning per il computing) al serverless computing di Data Boost, controlla le metriche di idoneità di Data Boost.

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

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

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente per l'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.

Converti il profilo di un'app da Data Boost a standard

Per cambiare il profilo di un'app da Data Boost (elaborazione serverless) a standard (nodi di cui è stato eseguito il provisioning per il computing), segui questi passaggi:

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

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

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente per l'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. Usa il comando beta bigtable app-profiles update per convertire il profilo dell'app:

    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]
    

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 a cluster multipli per instradare 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 devono essere instradate le richieste. Utilizza questa opzione se vuoi instradare le richieste solo ad alcuni cluster nell'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 instradate tutte le richieste. Questo flag consente il routing a 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.

Eliminare il profilo di un'app

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

Per eliminare un profilo di 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 da eliminare.

  3. Nel riquadro a sinistra, fai clic su Profili applicazione.

  4. Apri il menu Altre azioni , quindi fai clic su Elimina profilo 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 tuo progetto:

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

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Sostituisci INSTANCE_ID con l'identificatore permanente per l'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 su potenziali problemi e conflitti con altri profili di app.