user2990276
user2990276

Reputation: 307

Spring Cloud Dataflow routing by JSON header

I have been trying to create a stream with Spring Cloud Dataflow but have not had much luck (mostly due to the lack of documentation).

Issue 1: Accessing web GUI of dockerized Spring Cloud Dataflow I have a dockerized Spring Cloud server running with Kafka on a basic Ubuntu container. For some reason I can't access the web GUI in Windows (at < docker-machine ip >:9393/dashboard). However, I have a separate Docker Ubuntu container running Nginx reverse proxy, which shows up when I go to < docker-machine ip >/index.html or etc. I don't think it is an issue with ports, I have the Spring Cloud container setup with -p 9393:9393 and the port is otherwise unused.

Issue 2: Routing by JSON Header My ultimate goal is to get a file loaded in from Nginx and routed based on its JSON header (there are two different JSON headers) and then ingest queries to Cassandra. I can do all of this except the sorting by JSON header. Which app would you recommend I use?

Upvotes: 0

Views: 548

Answers (1)

Sabby Anandan
Sabby Anandan

Reputation: 5651

Issue 1: Accessing web GUI of dockerized Spring Cloud Dataflow

We might need little more details around this. Assuming this is the local-server, perhaps you could share the docker scripts/image, so we could try it out.

Issue 2: Routing by JSON Header

The router-sink application would come handy for this type of use-cases. This application routes the payload to named destinations based on certain conditions, so you'd have the opportunity to route the payload with respective ingest-query to Cassandra.

stream 1:

stream create test --definition "file | router --expression=header.contains('a')?':foo':':bar’"

stream 2:

stream create baz --definition ":foo > cassandra --ingest-query=\"query1\""

stream 3:

stream create wiz --definition ":bar > cassandra --ingest-query=\"query2\""

(where: foo and bar are named destinations)

Upvotes: 2

Related Questions