問題タブ [spring-cloud-function]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-cloud-dataflow - Spring-Cloud-Data-Flow ストリームの一部としてデプロイされた Spring-Cloud-Function アプリの間違った Kafka トピック名
次のような単純な SCDF ストリームがあります。
http --port=12346 | mvmn-transform | file --name=tmp.txt --directory=/tmp
mvmn-transform は、次のような単純なカスタム トランスフォーマーです。
これはうまくいきます。
しかし、Spring Cloud Function を使用すると、バインディングとトランスフォーマーのアノテーションを指定する必要なく、そのようなアプリを実装できるはずだと読んだので、次のように変更しました。
そして今、問題があります.SCDFソースとターゲットのトピック名は明らかにSpring-Cloud-Functionによって無視され、代わりにトピックtransform-in-0
とtransform-out-0
が作成されます。
SCDF は、次のような名前を持つトピックを作成します<stream-name>.<app-name>
。TestStream123.http
TestStream123.mvmn-transform
以前は、SCDF ストリームの一部であるため、トランスフォーマーに使用されていました。しかし、Spring-Cloud-Function によって無視され、transform-in-0
代わりtransform-out-0
に作成されます。
したがって、私のトランスフォーマーは、間違った Kafka トピックで入力を期待しているため、入力を受信しなくなりました。また、間違った Kafka トピックにも出力されるため、ストリームにも出力が生成されない可能性があります。
PS 念のため、GitHub の完全なプロジェクト コード: https://github.com/mvmn/scdftest-transformer/tree/scfunc
ローカルで実行するには、Kafka、Skipper、SCDF、および SCDF コンソールを起動mvn clean install
し、app フォルダーで実行app register --name mvmn-transform-1 --type processor --uri maven://x.mvmn.study.scdf.scdftest:scdftest-transformer:0.1.1-SNAPSHOT --metadata-uri maven://x.mvmn.study.scdf.scdftest:scdftest-transformer:0.1.1-SNAPSHOT
してから、coonsole で実行します。次に、定義を使用してストリームをデプロイできますhttp --port=12346 | mvmn-transform | file --name=tmp.txt --directory=/tmp