Kafka Connect FileConfigProvdier не работает - PullRequest
0 голосов
/ 19 июня 2020

Я использую Kafka Connect с JDB C Source Connector для DB2 в автономном режиме. Все работает нормально, но я помещаю пароли и другую конфиденциальную информацию в свой файл коннектора в виде обычного текста. Я хотел бы удалить это, поэтому я обнаружил, что можно использовать FileConfigProvider:

https://docs.confluent.io/current/connect/security.html#fileconfigprovider

Однако, когда я пытаюсь использовать это, это не кажется забрать свой файл свойств. Вот что я делаю:

connect.standalone.oroperties -

config.providers=file
config.providers.file.class=org.apache.kafka.common.config.provider.FileConfigProvider

secrets.properties -

password=thePassword

Source Config -

 "connection.password": "${file:/Users/me/app/context/src/main/kafkaconnect/connector/secrets.properties:password}",
  "table.whitelist": "MY_TABLE",
  "mode": "timestamp",

Когда я пытаюсь загрузить исходный коннектор (через rest api), я получаю следующую ошибку:

{"error_code": 400, "message": "Конфигурация коннектора недействительна и содержит следующее 2 ошибки: \ nНеверное значение com.ibm.db2.j cc .am.SqlInvalidAuthorizationSpecException: [jcc] [t4] [2013] [11249] [4.26.14] Произошла ошибка авторизации подключения. Причина: ID пользователя или Недействительный пароль. ERRORCODE = -4214, SQLSTATE = 28000 для конфигурации Не удалось открыть соединение с jdb c: db2: //11.1.111.111: 50000 / mydb \ nНеверное значение com.ibm.db2.j cc. am.SqlInvalidAuthorizationSpecException: [jcc] [t4] [2013] [11249] [4.26.14] Произошла ошибка авторизации подключения. Причина: неверный идентификатор пользователя или пароль. ERRORCODE = -4214, SQLSTATE = 28000 для конфигурации Не удалось открыть соединение с jdb c: db2: //11.1.111.111: 50000 / mydb \ n Вы также можете найти приведенный выше список ошибок в конечной точке /{connectorType}/config/validate "}

Я ввожу правильный пароль. Это сработает, если я просто закодирую его в свой исходный код json. Любые идеи? Спасибо!

Редактировать: в качестве примечания, я получаю аналогичные результаты при вставке на стороне приемника в базу данных Postgres.

Редактировать: Результат GET / коннекторов:

{
    "name": "jdbc_source_test-dev",
    "config": {
        "connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
        "timestamp.column.name": "UPDATED_TS",
        "connection.password": "${file:/opt/connect-secrets.properties:dev-password}",
        "validate.non.null": "false",
        "table.whitelist": "MY_TABLE",
        "mode": "timestamp",
        "topic.prefix": "db2-test-",
        "transforms.extractInt.field": "kafka_id",
        "_comment": "The Kafka topic will be made up of this prefix, plus the table name  ",
        "connection.user": "username",
        "name": "jdbc_source_test-dev",
        "value.converter": "org.apache.kafka.connect.json.JsonConverter",
        "connection.url": "jdbc:db2://11.1.111.111:50000/mydb",
        "key.converter": "org.apache.kafka.connect.storage.StringConverter"
    },
    "tasks": [
        {
            "connector": "jdbc_source_test-dev",
            "task": 0
        }
    ],
    "type": "source"
}
...