Resolver problemas de um conector do Pub/Sub

Nesta seção, você encontra orientações para solucionar problemas comuns encontrados ao usar um conector de origem do Pub/Sub ou um conector de coletor do Pub/Sub.

Permissões do Pub/Sub ausentes

Se a conta de serviço do Managed Kafka não tiver permissão para acessar os recursos do Pub/Sub, ocorrerá o seguinte erro:

PERMISSION_DENIED: User not authorized to perform this action.

Esse erro pode ocorrer por vários motivos.

  • Conector de origem do Pub/Sub: a conta de serviço do Kafka gerenciado pode não ter permissão para acessar a assinatura do Pub/Sub. Para resolver esse problema, conceda à conta de serviço do Kafka gerenciado os dois papéis do Identity and Access Management (IAM) a seguir:

    • Assinante do Pub/Sub (roles/pubsub.subscriber)
    • Leitor do Pub/Sub (roles/pubsub.viewer)

    Para mais informações, consulte Conceder permissões para ler da assinatura do Pub/Sub.

  • Conector de coletor do Pub/Sub: a conta de serviço do Kafka gerenciado pode não ter permissão para publicar no tópico do Pub/Sub. Para resolver esse problema, conceda ao serviço gerenciado do Kafka o papel do IAM de Editor do Pub/Sub (roles/pubsub.publisher).

    Para mais informações, consulte Conceder permissões para publicar no tópico do Pub/Sub.

Erro ao verificar a assinatura

Se o conector de origem do Pub/Sub não encontrar a assinatura do Pub/Sub, ele vai falhar com um erro semelhante a este:

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

Para resolver esse problema, verifique se a configuração do conector cps.subscription especifica a assinatura correta e se ela existe no seu projeto.

Falha na conversão de registros pelas tarefas do conector

Se o conversor de chave ou de valor do conector for incompatível com o tipo de dados dos registros, o conector vai falhar com um erro semelhante a este:

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

Para resolver esse problema, mude o conversor de chave ou de valor para a classe correta e ofereça suporte ao tipo de dados do esquema.

Por exemplo, se você definir o conversor de chaves como ByteArrayConverter, poderá encontrar o erro "Invalid schema type for ByteArrayConverter: STRING". Esse erro ocorre porque o ByteArrayConverter não é compatível com tipos STRING. Em vez disso, use org.apache.kafka.connect.storage.StringConverter.

A seguir