您可以使用 Datastream 中的自动流设置流程,直接从集群概览页面将数据从 AlloyDB for PostgreSQL 集群复制到 BigQuery。Datastream 通过自动配置虚拟私有云 (VPC) 连接、源数据库设置和数据流资源来简化设置。
即使您的部署包含次要集群或实例,Datastream 也会从主 AlloyDB 集群中的主实例创建数据流。如需使用自动流程,您的主实例必须启用专用服务访问通道并使用 Private Service Connect 接口。
免费层级
借助 Datastream,您可以使用免费层级将数据从 AlloyDB for PostgreSQL 流式传输到 BigQuery,每月最多可免费提供 100 GiB 的变更数据捕获数据。如需了解详情,请参阅 Datastream 价格。
准备工作
- 启用 Datastream、Network Connectivity 和 Compute Engine API。
- 确保您拥有创建和管理 Datastream 资源所需的 Identity and Access Management (IAM) 权限。如需了解详情,请参阅下文。
- 创建并配置 AlloyDB for PostgreSQL 来源集群以进行复制。如需了解详情,请参阅为 CDC 配置 AlloyDB for PostgreSQL 数据库。
我们建议您在创建数据流之前为集群启用逻辑复制。如果您未启用逻辑复制,Datastream 会为您启用,这会重启源实例。
如需了解如何为 AlloyDB for PostgreSQL 集群启用逻辑复制,请参阅为 CDC 配置 AlloyDB for PostgreSQL 数据库。
确保您的源集群已配置为使用专用服务访问通道。
所需权限
如需使用自动化数据流创建流程,您需要拥有以下 Identity and Access Management (IAM) 角色或权限:
serviceusage.services.enable、compute.networkAdmin,用于启用所需的 API 并执行网络配置任务。alloydb.admin,用于集群和实例配置任务。datastream.admin,用于 Datastream 代表您执行的管理任务。
确保所选数据库中的所有架构和表都已授予 postgres 或 alloydbsuperuser 角色。由于自动化流程默认包含数据库中的所有架构和表,因此如果自动创建的用户缺少对任何架构或表的权限,则数据流创建会失败。
如果您选择自定义数据流设置,则数据库管理员用户还需要对要复制的架构拥有 GRANT 权限,以及对源数据库中的管理和结构任务拥有一些额外权限。连接到源数据库并运行以下命令:
GRANT alloydbsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE; GRANT SELECT on ALL TABLES IN SCHEMA "SCHEMA_NAME" to"USER_NAME" WITH GRANT OPTION; ALTER DEFAULT PRIVILEGES IN SCHEMA "SCHEMA_NAME" GRANT SELECT ON TABLES TO "USER_NAME" WITH GRANT OPTION; GRANT CREATE ON DATABASE "DATABASE_NAME" TO "USER_NAME";
将来的表
只有当未来的表是由您在自动化流程中提供其账号详细信息以进行身份验证的用户创建时,这些表才会自动添加到数据流中。如果未来的表是由其他用户创建的,则该用户必须明确向 Datastream 读取者用户授予对该表的 SELECT 权限。
创建并启动数据流
如需创建并启动数据流,请执行以下步骤:
控制台
前往源 AlloyDB for PostgreSQL 集群概览页面。
点击要从中流式传输数据的主集群。
通过以下任一方式自动创建并启动数据流:
- 在集群详情页面的数据复制下,点击启动数据流。
- 在集成部分中,点击将数据复制到 BigQuery 下的启动数据流。
- 在启动板标签页上的与其他Google Cloud 产品无缝集成下,点击将数据复制到 BigQuery。
开始流式复制数据窗格即会打开。
在数据流设置下,查看您创建的数据流的默认设置。
您可以通过展开相应的下拉菜单并选择其他值来更改源数据库。
如果您已准备好创建并开始直播,请点击开始直播。
如果您需要更改直播设置,请点击自定义。
自定义数据流设置
点击自定义后,系统会显示自定义数据流设置页面。确保您拥有自定义数据流设置所需的权限。
开始使用
- 在开始使用页面上,在数据流名称字段中提供数据流的名称。数据流 ID 字段会自动填充。
在提供实例用户账号详情部分中,选择身份验证方法:
IAM 数据库身份验证:如果您的用户已分配 Identity and Access Management (IAM) 主账号身份,则可以使用此选项。如需了解详情,请参阅 IAM 主账号。如果您选择此选项,则必须手动向用户授予
alloydbsuperuser角色和CREATEROLE权限:- 在 Google Cloud 控制台中,前往 AlloyDB for PostgreSQL 集群页面。
- 选择您的 AlloyDB for PostgreSQL 集群。
- 在导航菜单中,点击 AlloyDB for PostgreSQL Studio 并登录。
- 在探索器窗格中,为您的用户运行以下查询:
GRANT alloydbsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE;
- 内置数据库身份验证:提供具有
alloydbsuperuser角色的用户的用户名和密码。如果您的用户没有alloydbsuperuser角色,请按照 IAM 数据库身份验证部分中所述的步骤手动授予该角色。如果您选择内置数据库身份验证,还请确保用户对要复制的表具有GRANT权限。
查看其他流详细信息,例如区域、加密和标签。展开其他数据流详细信息部分,以应用更改(如果需要)。
点击继续。
配置来源
在配置来源页面上,选择要从中复制数据的数据库。
默认情况下,所选对象列表会选择所有可用对象。列表中的对象是您拥有流式传输所需权限的对象。如需更改所选对象,请修改列表中的选择。
查看高级数据流配置,例如回填模式和并发回填连接数上限。展开高级数据流配置部分,以应用更改(如果需要)。
点击继续。
配置目标位置
- 在配置目标位置页面上,根据需要调整 BigQuery 目标位置设置。如需了解详情,请参阅配置有关数据流的目标位置的信息。
创建并启动数据流
点击创建并启动以创建并启动数据流,或点击创建但不启动以创建数据流并稍后在 Datastream 中启动。
系统会自动执行以下任务,并向您发送通知:
- Datastream 会创建所需的虚拟私有云资源,例如内部 IP 地址范围、子网和网络连接。
- Datastream 会为 CDC 配置表、设置复制槽、为数据库中的所有表设置发布内容,并创建专用 Datastream 用户。
- Datastream 会创建专用连接配置以及来源和目标连接配置文件。
确认您要创建并启动数据流。
监控直播
您可以在 Google Cloud 控制台中的源实例概览页面上监控基本数据流详细信息。该页面会显示数据流状态、数据流名称、目标 BigQuery 数据集和目标项目标识符等信息。
在概览页面中,您还可以执行启动或暂停数据流等操作。如需更精细的监控信息,请点击数据流名称以转到 Datastream。
删除数据流
删除使用自动化流程创建的数据流时,某些资源(例如 PostgreSQL 复制槽)会自动删除。不过,有些资源需要您手动删除:
- 发布内容。发布是使用数据库管理员用户创建的,只能由其所有者(默认情况下为创建它的用户)删除。
- Datastream 读取者用户。
- Datastream 来源和目标连接配置文件
- 专用连接资源。
- 在自动化流程中创建的所有网络资源,例如子网和网络连接。
后续步骤
- 了解如何手动创建直播。
- 了解如何配置 AlloyDB for PostgreSQL 来源。
- 详细了解如何监控直播。