创建和配置应用配置文件

本页面介绍了如何创建和管理 Bigtable 实例的应用配置文件(或应用配置文件)。并且还介绍如何使用自定义应用配置文件连接到 Bigtable。

在阅读本页之前,您应该了解应用配置文件的定义及其工作原理。特别是,请务必了解标准应用配置文件(配置为使用标准计算的应用配置文件)和 Data Boost 应用配置文件(使用 Data Boost(预览版)无服务器计算运行高吞吐量读取作业的应用配置文件之间的区别。如需详细了解 Data Boost 及其与使用预配集群节点的计算的区别,请参阅 Data Boost 概览

如果您使用标准应用配置文件来配置复制,您还应该熟悉 Bigtable 复制功能概览,并且应该查看复制功能设置示例并确定哪些设置最适合您的使用场景。

所需的角色

如需获取创建、配置或删除应用配置文件所需的权限,请让管理员授予您实例的 Bigtable 管理员 (roles/bigtable.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

创建应用配置文件

您可以为每个实例创建许多不同的自定义应用配置文件。使用自定义应用配置文件,您可以控制每个应用或一个应用中的每个不同功能与实例的交互方式。例如,您可以将一个应用配置文件用于批处理应用,以将该应用的流量隔离到单个集群,并使用另一个不同的应用配置文件来为其他应用提供高可用性。

创建标准应用配置文件

如需创建标准应用配置文件,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中打开 Bigtable 实例列表。

    打开实例列表

  2. 点击要在其中创建应用配置文件的实例。

  3. 在左侧窗格中,点击应用配置文件

  4. 点击创建应用配置文件

  5. 输入应用配置文件 ID。

    应用配置文件 ID 是应用配置文件的永久性标识符。您的应用在连接到 Bigtable 时需提供此 ID。

  6. 输入应用配置文件的说明。

  7. 集群路由下,选择单集群路由或多集群路由。了解详情

  8. 如果选择单集群

    1. 使用下拉列表选择要将请求路由到的集群。

    2. 如果您需要启用单行事务,请选中允许单行事务复选框。

  9. 如果选择多集群

    1. 如需将请求路由到实例中的任何集群,请在集群组下拉列表中选择任何集群
    2. 如需将请求路由限制为仅访问实例中的某些集群(集群组路由),请选中要包含在路由组中的每个集群的复选框,然后点击确定
  10. 点击创建以创建应用配置文件。

  11. 更新应用的 Bigtable 连接代码,使其使用新的应用配置文件。

gcloud

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 使用 bigtable app-profiles create 命令创建应用配置文件:

    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]
    

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。

    此命令接受以下可选标志:

    • --description=DESCRIPTION:应用配置文件的详细说明。
    • --force:忽略有关潜在问题的警告以及与其他应用配置文件的冲突。
    • --route-any:启用多集群路由,以将请求路由到任何可用的集群。

      不能将此标志与 --route-to--transactional-writes 标志结合使用。

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...:请求应路由到的集群列表。如果您要将请求仅路由到实例中的某些集群,请使用此选项。

      不能将此标志与 --route-to--transactional-writes 标志结合使用。

    • --route-to=CLUSTER_ID:所有请求应路由到的集群 ID。此标志用于启用单集群路由

      不能将此标志与 --route-any 标志结合使用。

    • --transactional-writes:在应用配置文件中启用单行事务

      不能将此标志与 --route-any--restrict-to 标志结合使用。

    • --priority=PRIORITY:应用配置文件应使用的优先级。接受的值为 PRIORITY_HIGHPRIORITY_MEDIUMPRIORITY_LOW

  3. 更新应用的 Bigtable 连接代码,使其使用新的应用配置文件。

创建 Data Boost 应用配置文件

如需创建 Data Boost 应用配置文件(一种使用 Data Boost 无服务器计算的应用配置文件),请按以下步骤操作。为了确保您的工作负载与 Data Boost 兼容,请查看限制

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 使用 beta bigtable app-profiles create 命令创建应用配置文件:

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

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。
    • CLUSTER_ID:所有请求应路由到的集群 ID。此标志用于启用单集群路由

使用自定义应用配置文件连接

创建自定义应用配置文件后,您可以更新代码,以便应用在连接到 Bigtable 时使用应用配置文件。

以下示例演示了如何在应用创建 Bigtable 客户端并连接到实例时指定应用配置文件。将 [APP_PROFILE_ID] 替换为适当的值:

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

更新应用配置文件

您可以随时查看实例的应用配置文件并更新其设置。 Bigtable 会针对可能引发意外行为变化的所有更新向您发送警告。

如需了解如何将应用配置文件从标准更新更新为 Data Boost,或者从 Data Boost 更新为标准,请参阅转换应用配置文件

更新标准应用配置文件

如需更新标准应用配置文件,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中打开 Bigtable 实例列表。

    打开实例列表

  2. 应用配置文件列中,点击要查看或更新的应用配置文件。

    如果您没有看到要修改的应用配置文件,可以查看完整列表,方法是点击实例名称,然后点击左侧窗格中的应用配置文件

  3. 根据需要更新设置,然后点击保存,或点击取消退出而不保存。

gcloud

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 如果您不知道应用配置文件的 ID,请使用 bigtable app-profiles list 命令查看实例的应用配置文件列表:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID 替换为实例的永久标识符。

  3. (可选)使用 bigtable app-profiles describe 命令查看应用配置文件的设置:

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

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。
  4. 使用 bigtable app-profiles update 命令更新应用配置文件的设置:

    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]
    

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。

    此命令接受以下可选标志:

    • --description=DESCRIPTION:应用配置文件的详细说明。
    • --force:忽略有关潜在问题的警告以及与其他应用配置文件的冲突。
    • --route-any:启用多集群路由,以将请求路由到任何可用的集群。

      不能将此标志与 --route-to--transactional-writes 标志结合使用。

    • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...:请求应路由到的集群列表。如果您要将请求仅路由到实例中的某些集群,请使用此选项。

      不能将此标志与 --route-to--transactional-writes 标志结合使用。

    • --route-to=CLUSTER_ID:所有请求应路由到的集群 ID。此标志用于启用单集群路由

      不能将此标志与 --route-any 标志结合使用。

    • --transactional-writes:在应用配置文件中启用单行事务

      不能将此标志与 --route-any 标志结合使用。

    • --priority=PRIORITY:应用配置文件使用的优先级。接受的值为 PRIORITY_HIGHPRIORITY_MEDIUMPRIORITY_LOW

更新 Data Boost 应用配置文件

如需更新 Data Boost 应用配置文件读取的集群,请按以下步骤操作:

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 如果您不知道应用配置文件的 ID,请使用 bigtable app-profiles list 命令查看实例的应用配置文件列表:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID 替换为实例的永久标识符。

  3. (可选)使用 bigtable app-profiles describe 命令查看应用配置文件的设置:

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

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。
  4. 使用 beta bigtable app-profiles update 命令更新应用配置文件的设置:

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

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。
    • CLUSTER_ID:要读取的新集群的 ID

转换应用配置文件

您可以将标准应用配置文件转换为 Data Boost 应用配置文件,或将 Data Boost 应用配置文件转换为标准应用配置文件。在转换应用配置文件之前,请查看应用配置文件更改中的指南。

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 如果您不知道应用配置文件的 ID,请使用 bigtable app-profiles list 命令查看实例的应用配置文件列表:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID 替换为实例的永久标识符。

  3. (可选)使用 bigtable app-profiles describe 命令查看应用配置文件的设置:

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

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。
  4. 使用 beta bigtable app-profiles update 命令将应用配置文件从标准配置文件转换为 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
    

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。
    • CLUSTER_ID:所有请求应路由到的集群 ID。此标志用于启用单集群路由

将应用配置文件从 Standard 转换为 Data Boost

将应用配置文件从标准(已预配的计算节点)更新为 Data Boost 无服务器计算之前,请查看 Data Boost 资格指标

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 如果您不知道应用配置文件的 ID,请使用 bigtable app-profiles list 命令查看实例的应用配置文件列表:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID 替换为实例的永久标识符。

  3. (可选)使用 bigtable app-profiles describe 命令查看应用配置文件的设置:

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

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。

将应用配置文件从 Data Boost 转换为标准版

如需将应用配置文件从使用 Data Boost(无服务器计算)更改为标准(用于计算的预配节点),请按以下步骤操作:

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 如果您不知道应用配置文件的 ID,请使用 bigtable app-profiles list 命令查看实例的应用配置文件列表:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID 替换为实例的永久标识符。

  3. (可选)使用 bigtable app-profiles describe 命令查看应用配置文件的设置:

    gcloud bigtable app-profiles describe APP_PROFILE_ID \
        --instance=INSTANCE_ID
    
  4. 使用 beta bigtable app-profiles update 命令转换应用配置文件:

    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]
    

提供以下信息:

  • APP_PROFILE_ID:应用配置文件的永久性标识符。
  • INSTANCE_ID:实例的永久性标识符。

此命令接受以下可选标志:

  • --route-any:启用多集群路由,以将请求路由到任何可用的集群。

    不能将此标志与 --route-to--transactional-writes 标志结合使用。

  • --restrict-to=CLUSTER_ID_1, CLUSTER_ID_2...:请求应路由到的集群列表。如果您要将请求仅路由到实例中的某些集群,请使用此选项。

    不能将此标志与 --route-to--transactional-writes 标志结合使用。

  • --route-to=CLUSTER_ID:所有请求应路由到的集群 ID。此标志用于启用单集群路由

    不能将此标志与 --route-any 标志结合使用。

  • --transactional-writes:在应用配置文件中启用单行事务

    不能将此标志与 --route-any--restrict-to 标志组合使用。

删除应用配置文件

您可以删除实例的自定义应用配置文件,但不能删除默认应用配置文件。

如需删除自定义应用配置文件,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中打开 Bigtable 实例列表。

    打开实例列表

  2. 点击包含您要删除的应用配置文件的实例。

  3. 在左侧窗格中,点击应用配置文件

  4. 打开更多操作菜单 ,然后点击删除应用配置文件。此时会显示一个确认对话框。

  5. 按照确认对话框中的说明操作,然后点击删除

gcloud

  1. 如果您不知道实例 ID,请使用 bigtable instances list 命令查看项目的实例列表:

    gcloud bigtable instances list
    
  2. 如果您不知道应用配置文件的 ID,请使用 bigtable app-profiles list 命令查看实例的应用配置文件列表:

    gcloud bigtable app-profiles list --instance=INSTANCE_ID
    

    INSTANCE_ID 替换为实例的永久标识符。

  3. 使用 bigtable app-profiles delete 命令删除应用配置文件:

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

    提供以下信息:

    • APP_PROFILE_ID:应用配置文件的永久性标识符。
    • INSTANCE_ID:实例的永久性标识符。

    该命令接受以下可选标志:

    --force:忽略有关潜在问题的警告以及与其他应用配置文件的冲突。