Я создал источник SFTP (sftp-source-kafka: 2.1.0.M2), используя следующее определение на панели мониторинга локального сервера SCDF:
sftp --local-dir=/tmp/inbox --filename-pattern=*.csv --task-launcher-output=true --remote-dir=/home/user/csv --private-key=file:/path/to/key/key-file.pem --username=user --host=***** --known-hosts-expression='"/path/to/hostfile/known_hosts"' | log
Файл known_hosts и файлы ключейкак на сервере SCDF, так и на accessibe.Когда я запускаю поток, я получаю следующую ошибку:
Caused by: java.lang.IllegalArgumentException: either a password or a private key is required
at org.springframework.util.Assert.isTrue(Assert.java:118)
at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:352)
at org.springframework.integration.sftp.session.DefaultSftpSessionFactory.getSession(DefaultSftpSessionFactory.java:57)
at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:438)
Поток работает нормально, если я пробую его на SFTP-сервере, основанном на пароле.Я неправильно указал ключевой ресурс?Я пробовал только путь без «file:» впереди, и это вызывает ту же ошибку.