このセクションでは、Cloud Storage Sink コネクタの使用時に発生する一般的な問題のトラブルシューティングについて説明します。
逆シリアル化が正しく構成されていない
コネクタのコンバータが Kafka のデータと一致しない場合、コネクタは次のようなエラー メッセージとともに失敗します。
org.apache.kafka.connect.errors.DataException: Converting byte[] to Kafka
Connect data failed due to serialization error:
この問題を解決するには、コネクタのキーと値のコンバータが、コネクタが Kafka から読み取るデータと一致していることを確認します。
たとえば、形式の出力タイプを csv に設定し、値コンバータを JsonConverter に設定すると、次のエラーが表示されることがあります。
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)
このエラーは、CSV 出力では値コンバータに JsonConverter ではなく ByteArrayConverter が必要であるために発生します。詳細については、Cloud Storage Sink コネクタの仕組みをご覧ください。
ログのスタック トレースは、根本原因の特定に役立つことがあります。たとえば、次のログエントリは、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
Cloud Storage バケットの権限がない
マネージド Kafka サービス アカウントに Cloud Storage バケットへの書き込み権限がない場合、コネクタは次のようなエラー メッセージで失敗します。
org.apache.kafka.connect.errors.ConnectException:
com.google.cloud.storage.StorageException: 403 Forbidden
この問題を解決するには、マネージド Kafka サービス アカウントに Storage オブジェクト作成者ロール(roles/storage.objectCreator)を付与します。詳細については、Cloud Storage バケットへの書き込み権限を付与するをご覧ください。