创建架构注册表

架构注册表是一个用于管理 Kafka 生产者和消费者所用架构的存储库。

本文档介绍如何使用Google Cloud 控制台、Google Cloud CLI 或 Managed Kafka API 在 Managed Service for Apache Kafka 中创建架构注册表资源。

准备工作

在创建架构注册表之前,请完成以下操作:

所需的角色和权限

如需获得创建架构注册表所需的权限,请让您的管理员为您授予项目的 Managed Kafka Schema Registry Editor (roles/managedkafka.schemaRegistryEditor) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

此预定义角色包含创建架构注册表所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

创建架构注册表需要以下权限:

  • 在父位置授予此权限: managedkafka.schemaRegistries.create

您也可以使用自定义角色或其他预定义角色来获取这些权限。

创建架构注册表

控制台

  1. 在 Google Cloud 控制台中,前往架构注册表页面。

    前往架构注册表

    系统随即会打开架构注册表页面。

  2. 在架构注册表页面上,点击创建。

    系统随即会打开创建架构注册表页面。

  3. 对于 Schema registry name(架构注册表名称),请输入注册表的唯一标识符。

    名称必须以字母开头,只能包含字母(a-z、A-Z)、数字 (0-9) 和下划线 (_),并且长度不得超过 63 个字符。

  4. 从菜单中选择或输入区域。

    您必须已在指定区域中拥有一个或多个有效的 Managed Service for Apache Kafka 集群。如需查看集群的区域,请参阅有关列出集群的文档。

    如需查看支持的位置列表,请参阅Managed Service for Apache Kafka 位置。

  5. 点击创建。

gcloud

  1. 安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:

    gcloud init

    如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。

  2. 使用 gcloud beta managed-kafka schema-registries create 命令创建架构注册表:

    gcloud beta managed-kafka schema-registries create SCHEMA_REGISTRY_ID \
        --location=LOCATION \

    替换以下内容:

    • SCHEMA_REGISTRY_ID(必需):新架构注册表的唯一标识符。这是注册表资源名称的一部分。名称必须以字母开头,只能包含字母(a-z、A-Z)、数字 (0-9) 和下划线 (_),并且不得超过 63 个字符。
    • LOCATION(必需):要创建架构注册表的 Google Cloud 区域。此位置必须与使用此注册表的 Managed Service for Apache Kafka 集群的区域相匹配。如需了解支持的位置,请参阅 Managed Service for Apache Kafka 位置。

    如需在 us-central1 区域中创建名为 test_schema_registry 的架构注册表,请运行以下命令:

    gcloud beta managed-kafka schema-registries create test_schema_registry \
        --location=us-central1

    命令成功完成后,系统会创建架构注册表。 然后,您可以配置 Kafka 客户端以使用其网址。如需查看架构注册表网址,请参阅 架构注册表页面详情。

REST

如需使用 REST API 创建架构注册表实例,请执行以下步骤。

  1. 发送类似于以下内容的 POST 请求:
  2. POST https://managedkafka.googleapis.com/v1main/projects/PROJECT_ID/locations/LOCATION/schemaRegistries
    Authorization: Bearer $(gcloud auth application-default print-access-token)
    Content-Type: application/json --data @response-body.json
    
  3. 创建一个具有以下结构的 JSON 文件 request-body.json:
  4. {
      "schemaRegistryId": "SCHEMA_REGISTRY_ID"
    }

    替换以下内容:

    • SCHEMA_REGISTRY_ID(必需):新架构注册表的唯一标识符。这是注册表资源名称的一部分。名称必须以字母开头,只能包含字母(a-z、A-Z)、数字 (0-9) 和下划线 (_),并且不得超过 63 个字符。

    使用构建的 URI、标头和正文运行 POST 请求。如果成功,API 会返回 200 OK 状态代码,以及包含新创建的 SchemaRegistry 资源的 JSON 表示形式的响应正文。

    以下是成功响应的示例。

    {
      "name": "projects/testing-311516/locations/us-central1/schemaRegistries/test",
      "contexts": [
        "projects/testing-311516/locations/us-central1/schemaRegistries/test/contexts/."
      ]
    }

    projects/testing-311516/locations/us-central1/schemaRegistries/test/contexts/. 表示默认上下文。默认上下文中的资源不需要指定任何上下文。

    如需了解详情,请参阅 REST API 文档。

后续步骤

Apache Kafka® 是 Apache Software Foundation 或其关联公司在美国和/或其他国家/地区的注册商标。