Résoudre les problèmes liés à un connecteur de récepteur Cloud Storage

Cette section fournit des conseils de dépannage pour les problèmes courants rencontrés lors de l'utilisation d'un connecteur de récepteur Cloud Storage.

La désérialisation est mal configurée

Si les convertisseurs du connecteur ne correspondent pas aux données de Kafka, le connecteur échoue et affiche un message d'erreur semblable à celui-ci :

org.apache.kafka.connect.errors.DataException: Converting byte[] to Kafka
Connect data failed due to serialization error: 

Pour résoudre ce problème, assurez-vous que les convertisseurs de clés et de valeurs du connecteur correspondent aux données que le connecteur lit à partir de Kafka.

Par exemple, si vous définissez le type de sortie du format sur csv et le convertisseur de valeur sur JsonConverter, l'erreur suivante peut s'afficher :

org.apache.kafka.connect.errors.DataException: Converting byte[] to Kafka
Connect data failed due to serialization error:
at org.apache.kafka.connect.json.JsonConverter.toConnectData(JsonConverter.java:333)
at org.apache.kafka.connect.storage.Converter.toConnectData(Converter.java:91)

Cette erreur se produit, car la sortie CSV nécessite ByteArrayConverter pour le convertisseur de valeurs, et non JsonConverter. Pour en savoir plus, consultez Fonctionnement d'un connecteur Cloud Storage Sink.

La trace de pile dans les journaux peut vous aider à identifier la cause première. Par exemple, l'entrée de journal suivante indique un problème de conversion d'un caractère UTF-32 :

Caused by: org.apache.kafka.common.errors.SerializationException:
java.io.CharConversionException: Invalid UTF-32 character 0x31d086a
(above 0x0010ffff) at char #1, byte #7

Autorisations de bucket Cloud Storage manquantes

Si le compte de service Managed Kafka n'est pas autorisé à écrire dans le bucket Cloud Storage, le connecteur échoue et affiche un message d'erreur semblable à celui-ci :

org.apache.kafka.connect.errors.ConnectException:
com.google.cloud.storage.StorageException: 403 Forbidden

Pour résoudre ce problème, attribuez le rôle Créateur des objets de l'espace de stockage (roles/storage.objectCreator) au compte de service Kafka géré. Pour en savoir plus, consultez Accorder des autorisations d'écriture dans le bucket Cloud Storage.

Étapes suivantes