[英]Kafka/questDB JDBC Sink Connector: tables not created using "topics.regex"
我使用“confluentinc/kafka-connect-jdbc:10.2.6”作為我的 JDBC 連接器將 Kafka 主題傳輸到我的 questDB 中。
當我提供明確的主題名稱時,它按預期工作。 但是,當我使用基於正則表達式的主題名稱時,它不起作用,我的 questDB 數據庫中沒有創建表。
我的 JDBC 設置中缺少什么?
謝謝!
顯式版本(工作):
{
"name": "jdbc_sink_ftx",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"topics": "trades-FTX-ETH-USD-PERP, trades-FTX-FTM-USD-PERP",
"table.name.format": "${topic}",
"connection.url": "jdbc:postgresql://questdb:8812/qdb?useSSL=false",
"connection.user": "admin",
"connection.password": "quest",
"auto.create": "true",
"insert.mode": "insert",
"dialect.name": "PostgreSqlDatabaseDialect"
}
}
正則表達式版本(不工作):
{
"name": "jdbc_sink_ftx_regex",
"config": {
"connector.class": "io.confluent.connect.jdbc.JdbcSinkConnector",
"topics.regex": "FTX",
"table.name.format": "${topic}",
"connection.url": "jdbc:postgresql://questdb:8812/qdb?useSSL=false",
"connection.user": "admin",
"connection.password": "quest",
"auto.create": "true",
"insert.mode": "insert",
"dialect.name": "PostgreSqlDatabaseDialect"
}
}
最好檢查 QuestDB 日志。 在這種情況下,搜索' E '
應顯示通常包括描述和操作系統錯誤代碼的錯誤。 Kafka 連接器中的主題名稱用作表名稱。 QuestDB 使用表名作為磁盤上的目錄並出於安全目的對其進行驗證。 '.'、'/' 和 '' 不允許在表名中使用字符。 特定的操作系統也可以對文件名應用額外的限制。
不過最好檢查 QuestDB 日志。
正則表達式需要與完整的主題名稱匹配,如下所示:
"topics.regex": "trades-FTX-.*"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.