您可以在这里加入私有预览等候名单。
前置条件
- 一个处于活跃状态的 ClickHouse Cloud 服务
- 一个 GCP 项目,其中包含你要从中摄取数据的 Pub/Sub topic
- 在该项目中拥有创建服务账号并授予角色所需的 IAM 权限
身份验证模型
- 列出并读取您项目中的 topic,
- 创建和删除 ClickPipes 用于消费消息的托管订阅,
- 从该订阅消费消息,以及
- (可选) 从 Schema Registry 读取原生 Pub/Sub schema。
所需权限
topic 访问 (发现与校验)
订阅生命周期 (发现与摄取)
Schema 访问 (可选——仅适用于原生 Avro/Protobuf topic)
预定义角色
配置
创建自定义角色 (推荐)
gcloud CLI 执行此操作:
可选权限如果你要从使用原生 Pub/Sub Avro 或 Protobuf schema 的 topic 摄取数据,请将
pubsub.schemas.get 追加到 --permissions 列表中。否则无需添加,以保持角色权限最小化。roles/pubsub.editor。
创建服务账号
向服务账号授予角色
roles/pubsub.editor) 绑定到服务账号:
创建并下载服务账号密钥
clickpipes-pubsub-key.json 文件。
请将该密钥作为机密信息处理服务账号密钥可用于访问您的 GCP 项目。请妥善保管该文件,不要将其提交到版本控制系统,并定期轮换。上传后,ClickPipes 会对静态存储中的密钥进行加密。
注意事项
pubsub.topics.attachSubscription需要在topic 资源上授予,而不是在订阅上。只授予订阅级权限时,通常会遗漏这一点。- 如果您的 topic 未使用原生 Pub/Sub schema (Avro 或 Protobuf) ,则不需要
pubsub.schemas.get权限。 - 托管订阅命名为
clickpipes-{pipeID},ack deadline 为 60 秒,消息保留期为 7 天,并启用了消息排序。 - 临时发现订阅命名为
clickpipes-discovery-{uuid},ack deadline 为 10 秒,保留期为 10 分钟,并设置了 24 小时自动过期的生存时间 (TTL)。 - ClickPipes 将
PermissionDenied和Unauthenticated错误视为不可重试——如果缺少权限,管道会立即失败,而不是无限重试。