创建和配置应用配置文件

本页面介绍了如何创建和管理 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] \
        [--priority=PRIORITY]
    

    提供以下信息:

    • 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 命令将应用配置文件从标准配置文件转换为 数据提升:

    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。此标志用于启用单集群路由

将应用配置文件从标准配置文件转换为 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:忽略有关潜在问题的警告以及与其他应用配置文件的冲突。