問題タブ [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.

0 投票する
1 に答える
169 参照

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-0transform-out-0が作成されます。

SCDF は、次のような名前を持つトピックを作成します<stream-name>.<app-name>TestStream123.httpTestStream123.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