排查 Pub/Sub 连接器问题

本部分提供了问题排查指南,可帮助您解决在使用 Pub/Sub 来源连接器Pub/Sub 接收器连接器时遇到的常见问题。

缺少 Pub/Sub 权限

如果 Managed Kafka 服务账号无权访问 Pub/Sub 资源,则会发生以下错误:

PERMISSION_DENIED: User not authorized to perform this action.

此错误可能是由多种原因造成的。

  • Pub/Sub 源连接器:Managed Kafka 服务账号可能没有访问 Pub/Sub 订阅的权限。如需解决此问题,请向 Managed Kafka 服务账号授予以下两个 Identity and Access Management (IAM) 角色:

    • Pub/Sub Subscriber (roles/pubsub.subscriber)
    • Pub/Sub Viewer (roles/pubsub.viewer)

    如需了解详情,请参阅授予从 Pub/Sub 订阅读取数据的权限

  • Pub/Sub 接收器连接器:Managed Kafka 服务账号可能没有发布到 Pub/Sub 主题的权限。如需解决此问题,请向 Managed Kafka 服务授予 Pub/Sub Publisher (roles/pubsub.publisher) IAM 角色。

    如需了解详情,请参阅授予向 Pub/Sub 主题发布消息的权限

验证订阅时出错

如果 Pub/Sub Source 连接器找不到 Pub/Sub 订阅,该连接器会失败,并显示类似于以下内容的错误:

org.apache.kafka.connect.errors.ConnectException: Error verifying the subscription SUBSCRIPTION for project PROJECT

如需解决此问题,请验证连接器的 cps.subscription 配置是否指定了正确的订阅,以及您的项目中是否存在该订阅。

连接器任务未能转换记录

如果连接器的键转换器或值转换器与记录的数据类型不兼容,则连接器会失败,并显示类似于以下内容的错误:

org.apache.kafka.connect.errors.DataException: Invalid schema type for
CONVERTER_NAME: DATA_FORMAT

如需解决此问题,请将键转换器或值转换器更改为正确的类,以支持架构数据类型。

例如,如果您将键转换器设置为 ByteArrayConverter,则可能会看到错误 "Invalid schema type for ByteArrayConverter: STRING"。出现此错误的原因是 ByteArrayConverter 不支持 STRING 类型。而是改用 org.apache.kafka.connect.storage.StringConverter

后续步骤