Résoudre les problèmes liés à un connecteur Pub/Sub

Cette section fournit des conseils de dépannage pour les problèmes courants rencontrés lors de l'utilisation d'un connecteur source Pub/Sub ou d'un connecteur de récepteur Pub/Sub.

Autorisations Pub/Sub manquantes

Si le compte de service Managed Kafka n'est pas autorisé à accéder aux ressources Pub/Sub, l'erreur suivante se produit :

PERMISSION_DENIED: User not authorized to perform this action.

Cette erreur peut se produire pour plusieurs raisons.

  • Connecteur de source Pub/Sub : il est possible que le compte de service Managed Kafka ne soit pas autorisé à accéder à l'abonnement Pub/Sub. Pour résoudre ce problème, attribuez au compte de service Kafka géré les deux rôles IAM (Identity and Access Management) suivants :

    • Abonné Pub/Sub (roles/pubsub.subscriber)
    • Lecteur Pub/Sub (roles/pubsub.viewer)

    Pour en savoir plus, consultez Accorder les autorisations de lecture à l'abonnement Pub/Sub.

  • Connecteur de récepteur Pub/Sub : il est possible que le compte de service Managed Kafka n'ait pas l'autorisation de publier sur le sujet Pub/Sub. Pour résoudre ce problème, accordez au service Managed Kafka le rôle IAM Éditeur Pub/Sub (roles/pubsub.publisher).

    Pour en savoir plus, consultez Accorder des autorisations de publication dans le sujet Pub/Sub.

Erreur lors de la validation de l'abonnement

Si le connecteur source Pub/Sub ne trouve pas l'abonnement Pub/Sub, il échoue et renvoie une erreur semblable à celle-ci :

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

Pour résoudre ce problème, vérifiez que la configuration cps.subscription du connecteur spécifie le bon abonnement et que celui-ci existe dans votre projet.

Échec de la conversion des enregistrements par les tâches du connecteur

Si le convertisseur de clé ou de valeur du connecteur est incompatible avec le type de données des enregistrements, le connecteur échoue et affiche une erreur semblable à la suivante :

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

Pour résoudre ce problème, remplacez le convertisseur de clé ou de valeur par la classe appropriée pour prendre en charge le type de données du schéma.

Par exemple, si vous définissez le convertisseur de clés sur ByteArrayConverter, l'erreur "Invalid schema type for ByteArrayConverter: STRING" peut s'afficher. Cette erreur se produit, car ByteArrayConverter n'accepte pas les types STRING. Utilisez plutôt org.apache.kafka.connect.storage.StringConverter.

Étapes suivantes