我在本地SCDF服务器仪表板上使用以下定义创建了SFTP源(sftp-source-kafka:2.1.0.M2):
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:”的路径,这会导致相同的错误。