1

stfp sinkを使用していて、ヘッダーに基づいてリモートファイルの名前を付けようとしています。私はまた、 sftp.file-を試してみましたspring-cloud-starter-stream-sink-sftp Sftpシンク、ファイル式が機能しません

リモートsftp.file表現= payload.headers [ 'ID'] + payload.headers [ 'file_nameに']上のファイルに名前を付けるために

を次のプロパティを提供しています式=ヘッダー['id'] +ヘッダー['file_name']

これらは機能していません。リモートでは、元のファイル名が保持されます。これはSpEL式を書く正しい方法ですか?また、私はプロペ

答えて

1

除き、このプロパティを持つ任意のエラーを得ることはありませんsftp.filename-expressionにする必要があります:

sftp.filename表現は何監督

  A SpEL expression to generate the remote file name. (Expression, default: <none>) 

http://docs.spring.io/spring-cloud-stream-app-starters/docs/Bacon.RELEASE/reference/html/spring-cloud-stream-modules-sinks.html#_options_50

+0

、それを指摘してくれてありがとう、私はこれを試してみるつもりです。ヘッダー、payload.headers ['id']またはヘッダー['id']から値を取得する正しい方法は何か提案があります。 – gamepop

+1

評価コンテキストのルートオブジェクトは 'getPayload()'と 'getHeaders()'メソッドを持つ 'Message'です。したがって、ヘッダーに到達するには、実際には 'headers'プロパティアクセサーの式を実行する必要があります。あなたの 'payload'に' getHeaders() 'アクセッサがある場合、' payload.headers ['id'] 'を有効なSpELとしても驚かないでしょう。 –

関連する問題