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
Se non conosci l'ID istanza, utilizza il comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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 sonoPRIORITY_HIGH
,PRIORITY_MEDIUM
oPRIORITY_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
.
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
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza in cui vuoi creare il profilo dell'app.
Nel riquadro a sinistra, fai clic su Profili delle applicazioni.
Fai clic su Crea profilo applicazione.
Seleziona Data Boost.
Fai clic su Avanti.
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.
Inserisci una descrizione del profilo dell'app.
In Routing al cluster, seleziona il cluster a cui inoltrare le richieste.
Fai clic su Crea profilo dell'app per creare il profilo dell'app.
Aggiorna il codice dell'applicazione per la connessione a Bigtable in modo che utilizzi il nuovo profilo dell'app.
gcloud
Se non conosci l'ID istanza, utilizza il comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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
Se non conosci l'ID istanza, utilizza il comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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.(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.
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 sonoPRIORITY_HIGH
,PRIORITY_MEDIUM
oPRIORITY_LOW
.
Aggiornare un profilo dell'app Data Boost
Per aggiornare il cluster da cui viene letto un profilo dell'app Data Boost:
Console
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
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.
Seleziona il nuovo cluster a cui deve essere indirizzato il traffico e fai clic su Salva.
gcloud
Se non conosci l'ID istanza, utilizza il comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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.(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.
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
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
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.
Seleziona Data Boost.
Seleziona il cluster a cui devono essere inoltrate le richieste.
Fai clic su Salva.
gcloud
Se non conosci l'ID istanza, utilizza il comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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.(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.
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
Se non conosci l'ID istanza, utilizza il comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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.(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
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
Apri l'elenco delle istanze Bigtable nella console Google Cloud.
Fai clic sull'istanza contenente il profilo dell'app che vuoi eliminare.
Nel riquadro a sinistra, fai clic su Profili delle applicazioni.
Apri il menu Altre azioni
e poi fai clic su Elimina profilo dell'applicazione. Viene visualizzata una finestra di dialogo di conferma.Segui le istruzioni nella finestra di dialogo di conferma, quindi fai clic su Elimina.
gcloud
Se non conosci l'ID istanza, utilizza il comando
bigtable instances list
per visualizzare un elenco delle istanze del progetto:gcloud bigtable instances list
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.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.