如何外部化Landoop Kafka连接器的常用属性

时间:2018-12-13 21:23:58

标签: apache-kafka apache-kafka-connect

我正在使用Landoop Kafka泊坞窗映像。我正在使用其UI创建jdbc源和jdbc接收器连接器,或者也可以使用Kafka Rest Api创建连接器。我有许多使用相同的连接URL,用户名和密码的jdbc源连接器。无论何时更改源数据库凭据,当前我都必须分别更改所有连接器。有没有办法我可以仅外部化这些属性,并让每个连接器都有其特定的属性,例如主题,查询等。

1 个答案:

答案 0 :(得分:0)

至少在Kafka 2.0中已添加,您可以将秘密外部化。参考KIP-297

我还没有亲自尝试过,它可能仅适用于ConfigDef.Type.PASSWORD配置,而不仅仅是常规配置...

从KIP中提取

  

变量替换的模式为{ "configurations": [ { "name": "x64-Release", "generator": "Ninja", "configurationType": "RelWithDebInfo", "inheritEnvironments": [ "msvc_x64_x64" ], "buildRoot": "${env.USERPROFILE}\CMakeBuilds\${workspaceHash}\build\${name}", "installRoot": "${env.USERPROFILE}\CMakeBuilds\${workspaceHash}\install\${name}", "cmakeCommandArgs": "", "buildCommandArgs": "-v", "ctestCommandArgs": "" } ] } 形式,在替换期间仅遵循一个间接级别。

     

变量中的路径是可选的。

     

这意味着您具有以下条件:

${provider:[path:]key}
     

您的文件包含

foo=${file:bar}
bar=${file:baz}
     

那么结果将是

bar=hello
baz=world

因此,在Docker中,您可以批量安装配置文件,然后在连接器配置有效负载内引用它