Crea y configura perfiles de app

En esta página, se explica cómo crear y administrar los perfiles de aplicación o perfiles de apps de una instancia de Bigtable. Además, se muestra cómo usar un perfil de la app personalizado para conectarse con Bigtable.

Antes de leer esta página, debes comprender qué son los perfiles de app y cómo funcionan. En particular, asegúrate de comprender la diferencia entre un perfil de app estándar (un perfil de app configurado para usar el procesamiento estándar) y un perfil de app de Data Boost (un perfil de app que usa Data Boost (versión preliminar) para ejecutar trabajos de lectura de alta capacidad de procesamiento. Para obtener más información sobre Data Boost y en qué se diferencia del procesamiento que usa los nodos de clúster aprovisionados, consulta la descripción general de Data Boost.

Si usas perfiles de app estándar para configurar la replicación, también debes estar familiarizado con la descripción general de la replicación de Bigtable, y debes revisar los ejemplos de configuración de replicación y decidir qué configuración es la mejor para tu caso de uso.

Funciones obligatorias

Si quieres obtener los permisos que necesitas para crear, configurar o borrar un perfil de app, pídele a tu administrador que te otorgue el rol de IAM administrador de Bigtable (roles/bigtable.admin) en la instancia. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.

Crea un perfil de aplicación

Puedes crear muchos perfiles de app personalizados para cada instancia. Úsalos para controlar la manera en que las aplicaciones o las funciones de estas interactúan con una instancia. Por ejemplo, puedes usar un perfil de app en una aplicación por lote para separar su tráfico en un solo clúster, y otro para proporcionar una alta disponibilidad a otra aplicación.

Cómo crear un perfil de app estándar

Para crear un perfil de aplicación estándar, sigue estos pasos:

Console

  1. Abre la lista de instancias de Bigtable en la consola de Google Cloud.

    Abrir la lista de instancias

  2. Haz clic en la instancia en la que deseas crear el perfil de la app.

  3. En el panel izquierdo, haz clic en Perfiles de aplicación.

  4. Haz clic en Crear perfil de aplicación.

  5. Ingresa el ID de perfil de aplicación.

    El ID de perfil de la aplicación es un identificador permanente para el perfil de la app. Tu aplicación proporciona este ID cuando se conecta a Bigtable.

  6. Ingresa una descripción del perfil de la app.

  7. En Enrutamiento del clúster, selecciona el enrutamiento de un solo clúster o de varios clústeres. Obtén más información.

  8. Si eliges Un solo clúster, sigue estos pasos:

    1. Usa el menú desplegable para seleccionar el clúster al que deseas enrutar las solicitudes.

    2. Si necesitas habilitar las transacciones de una sola fila, selecciona la casilla de verificación Permitir transacciones de una sola fila.

  9. Si eliges Varios clústeres:

    1. Para enrutar las solicitudes a cualquier clúster de la instancia, selecciona Cualquier clúster en el menú desplegable Grupo de clústeres.
    2. Para limitar el enrutamiento de solicitudes a solo algunos clústeres de la instancia (enrutamiento de grupo de clústeres), selecciona la casilla de verificación de cada clúster que desees incluir en el grupo de enrutamiento y, luego, haz clic en Aceptar.
  10. Haz clic en Crear para crear el perfil de la app.

  11. Actualiza el código de tu aplicación para conectarte a Bigtable a fin de usar el nuevo perfil de la aplicación.

gcloud

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Usa el comando bigtable app-profiles create para crear un perfil de 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]
    

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia

    El comando acepta las siguientes marcas opcionales:

    • --description=DESCRIPTION: Es una descripción detallada del perfil de la app.
    • --force: Ignora las advertencias sobre posibles problemas y conflictos con otros perfiles de app.
    • --route-any: Habilita el enrutamiento de varios clústeres para enrutar las solicitudes a cualquier clúster disponible.

      No puedes combinar esta marca con las marcas --route-to o --transactional-writes.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: Es una lista de clústeres a los que se deben enrutar las solicitudes. Usa esta opción si deseas enrutar solicitudes solo a algunos de los clústeres de la instancia.

      No puedes combinar esta marca con las marcas --route-to o --transactional-writes.

    • --route-to=CLUSTER_ID: El ID del clúster al que se deben enrutar todas las solicitudes Esta marca habilita el enrutamiento de un solo clúster.

      No puedes combinar esta marca con la marca --route-any.

    • --transactional-writes: Habilita las transacciones de una sola fila en el perfil de la app.

      No puedes combinar esta marca con las marcas --route-any o --restrict-to.

    • --priority=PRIORITY: Es el nivel de prioridad que debe usar el perfil de app. Se aceptan los valores PRIORITY_HIGH, PRIORITY_MEDIUM o PRIORITY_LOW.

  3. Actualiza el código de tu aplicación para conectarte a Bigtable a fin de usar el nuevo perfil de la aplicación.

Crea un perfil de la app de Data Boost

Para crear un perfil de la app de Data Boost, es decir, un perfil de la app que usa procesamiento sin servidores de Data Boost, sigue estos pasos. Para asegurarte de que tu carga de trabajo sea compatible con Data Boost, revisa las limitaciones.

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Usa el comando beta bigtable app-profiles create para crear un perfil de 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
    

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia
    • CLUSTER_ID: El ID del clúster al que se deben enrutar todas las solicitudes Esta marca habilita el enrutamiento de un solo clúster.

Conéctate con un perfil de app personalizado

Después de crear un perfil de app personalizado, puedes actualizar tu código para que la aplicación use este perfil cuando se conecte a Bigtable.

En los siguientes ejemplos se muestra cómo especificar un perfil de la app cuando tu app crea un cliente de Bigtable y se conecta a una instancia. Reemplaza [APP_PROFILE_ID] con el valor apropiado.

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

Actualiza un perfil de aplicación

Puedes ver los perfiles de app de una instancia y actualizar su configuración en cualquier momento. Bigtable te advierte sobre cualquier actualización que pueda causar cambios de comportamiento inesperados.

Para ver cómo actualizar un perfil de app de estándar a Data Boost o Data Boost a estándar, consulta Cómo convertir un perfil de app.

Actualiza un perfil de app estándar

Para actualizar un perfil de aplicación estándar, sigue estos pasos:

Console

  1. Abre la lista de instancias de Bigtable en la consola de Google Cloud.

    Abrir la lista de instancias

  2. En la columna Perfiles de la aplicación, haz clic en el perfil de la app que deseas ver o actualizar.

    Si no ves el perfil de la app que deseas editar, puedes ver la lista completa si haces clic en el nombre de la instancia y, luego, en Perfiles de la aplicación en el panel izquierdo.

  3. Actualiza la configuración según sea necesario, luego haz clic en Guardar, o puedes hacer clic en Cancelar para salir sin guardar.

gcloud

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Si no conoces el ID del perfil de app, usa el comando bigtable app-profiles list para ver una lista de los perfiles de app de la instancia:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Reemplaza INSTANCE_ID con el identificador permanente de la instancia.

  3. (Opcional) Usa el comando bigtable app-profiles describe para ver la configuración del perfil de la app:

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

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia
  4. Usa el comando bigtable app-profiles update para actualizar la configuración del perfil de la 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]
    

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia

    El comando acepta las siguientes marcas opcionales:

    • --description=DESCRIPTION: Es una descripción detallada del perfil de la app.
    • --force: Ignora las advertencias sobre posibles problemas y conflictos con otros perfiles de app.
    • --route-any: Habilita el enrutamiento de varios clústeres para enrutar las solicitudes a cualquier clúster disponible.

      No puedes combinar esta marca con las marcas --route-to o --transactional-writes.

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: Es una lista de clústeres a los que se deben enrutar las solicitudes. Usa esta opción si deseas enrutar solicitudes solo a algunos de los clústeres de la instancia.

      No puedes combinar esta marca con las marcas --route-to o --transactional-writes.

    • --route-to=CLUSTER_ID: El ID del clúster al que se deben enrutar todas las solicitudes Esta marca habilita el enrutamiento de un solo clúster.

      No puedes combinar esta marca con la marca --route-any.

    • --transactional-writes: Habilita las transacciones de una sola fila en el perfil de la app.

      No puedes combinar esta marca con la marca --route-any.

    • --priority=PRIORITY: Es el nivel de prioridad que usa el perfil de app. Se aceptan los valores PRIORITY_HIGH, PRIORITY_MEDIUM o PRIORITY_LOW.

Actualiza un perfil de la app de Data Boost

Para actualizar el clúster desde el que lee un perfil de la app de Data Boost, sigue estos pasos:

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Si no conoces el ID del perfil de app, usa el comando bigtable app-profiles list para ver una lista de los perfiles de app de la instancia:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Reemplaza INSTANCE_ID con el identificador permanente de la instancia.

  3. (Opcional) Usa el comando bigtable app-profiles describe para ver la configuración del perfil de la app:

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

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia
  4. Usa el comando beta bigtable app-profiles update para actualizar la configuración del perfil de la app:

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

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia
    • CLUSTER_ID: Es el ID del clúster nuevo desde el que se leerá.

Cómo convertir un perfil de app

Puedes convertir un perfil de app estándar en un perfil de la app de Data Boost o convertir un perfil de la app de Data Boost en uno estándar. Antes de convertir un perfil de app, revisa la guía en Cambios en los perfiles de app.

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Si no conoces el ID del perfil de app, usa el comando bigtable app-profiles list para ver una lista de los perfiles de app de la instancia:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Reemplaza INSTANCE_ID con el identificador permanente de la instancia.

  3. (Opcional) Usa el comando bigtable app-profiles describe para ver la configuración del perfil de la app:

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

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia
  4. Usa el comando beta bigtable app-profiles update para convertir un perfil de app de estándar 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
    

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia
    • CLUSTER_ID: El ID del clúster al que se deben enrutar todas las solicitudes Esta marca habilita el enrutamiento de un solo clúster.

Cómo convertir un perfil de app de estándar a Data Boost

Antes de actualizar un perfil de app de estándar (nodos aprovisionados para procesamiento) a procesamiento sin servidores de Data Boost, consulta las métricas de elegibilidad de Data Boost.

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Si no conoces el ID del perfil de app, usa el comando bigtable app-profiles list para ver una lista de los perfiles de app de la instancia:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Reemplaza INSTANCE_ID con el identificador permanente de la instancia.

  3. (Opcional) Usa el comando bigtable app-profiles describe para ver la configuración del perfil de la app:

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

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia

Cómo convertir un perfil de app de Data Boost a estándar

Para cambiar el perfil de una app de Data Boost (procesamiento sin servidores) a estándar (nodos aprovisionados para el procesamiento), sigue estos pasos:

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Si no conoces el ID del perfil de app, usa el comando bigtable app-profiles list para ver una lista de los perfiles de app de la instancia:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Reemplaza INSTANCE_ID con el identificador permanente de la instancia.

  3. (Opcional) Usa el comando bigtable app-profiles describe para ver la configuración del perfil de la app:

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    
  4. Usa el comando beta bigtable app-profiles update para convertir el perfil de la 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]
    

Proporcione lo siguiente:

  • APP_PROFILE_ID: Identificador permanente del perfil de la app
  • INSTANCE_ID: Identificador permanente de la instancia

El comando acepta las siguientes marcas opcionales:

  • --route-any: Habilita el enrutamiento de varios clústeres para enrutar las solicitudes a cualquier clúster disponible.

    No puedes combinar esta marca con las marcas --route-to o --transactional-writes.

  • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...: Es una lista de clústeres a los que se deben enrutar las solicitudes. Usa esta opción si deseas enrutar solicitudes solo a algunos de los clústeres de la instancia.

    No puedes combinar esta marca con las marcas --route-to o --transactional-writes.

  • --route-to=CLUSTER_ID: El ID del clúster al que se deben enrutar todas las solicitudes Esta marca habilita el enrutamiento de un solo clúster.

    No puedes combinar esta marca con la marca --route-any.

  • --transactional-writes: Habilita las transacciones de una sola fila en el perfil de la app.

    No puedes combinar esta marca con las marcas --route-any o --restrict-to.

Borra un perfil de actualización

Puedes borrar los perfiles de app personalizados de una instancia, pero no el perfil de la app predeterminado.

Sigue estos pasos para borrar un perfil de la app personalizado:

Console

  1. Abre la lista de instancias de Bigtable en la consola de Google Cloud.

    Abrir la lista de instancias

  2. Haz clic en la instancia que contiene el perfil de la app que deseas borrar.

  3. En el panel izquierdo, haz clic en Perfiles de aplicación.

  4. Abre el menú Más acciones y haz clic en Borrar perfil de aplicación. Aparecerá un diálogo de confirmación.

  5. Sigue las instrucciones del diálogo de confirmación y haz clic en Borrar.

gcloud

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Si no conoces el ID del perfil de app, usa el comando bigtable app-profiles list para ver una lista de los perfiles de app de la instancia:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    Reemplaza INSTANCE_ID con el identificador permanente de la instancia.

  3. Usa el comando bigtable app-profiles delete para borrar el perfil de la app:

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

    Proporcione lo siguiente:

    • APP_PROFILE_ID: Identificador permanente del perfil de la app
    • INSTANCE_ID: Identificador permanente de la instancia

    El comando acepta la siguiente marca opcional:

    --force: Ignora las advertencias sobre posibles problemas y conflictos con otros perfiles de app.