Skip to main content

Hi list.

We're trying out the streaming capabilities of workspaces in FME Server (2020.2).

When you upload a workspace, you can check streaming, and under its settings, you need to set one reader and one writer as streaming input and output resp. Both are mandatory, you can't upload if any of them isn't set.

I did that with a workspace, using an ACAD input and a JSON output.

However, when we ran the workspace, it erred because it couldn't create the (testing) JSON output file. Yes, the same transformer that ought to stream its output. Only when I disabled the writer (and re-uploaded), I could run the workspace.

We're using the post /transformations/transactdata/< repository >/< workspace > REST API endpoint, as the workspace has 3 parameters other than the streamed input.

The API documentation for this endpoint does state, that it streams a fixed JSON output (Response Class), and so it's logical, that it doesn't allow other streaming outputs.

What gives?

Is there a bug in FME Server with regard to the output of streaming workspaces?

If not, how can one submit a workspace with custom streaming output using the REST API?

Cheers.

Hi @Lars I Nielsen​ ,

 

It sounds like you might be looking for our WebHook method. Our training course also has a section on Message Streaming that may help, although this might not be as applicable to your scenario. Lastly feel free to create a case if you need some guidance on this particular circumstance.


Hi Richard.

I've looked thru the webhook article, and correct me if I'm wrong, but it seems like a GET request with url parameters and a streamed output. This is not what I'm looking for. Will a webhook accept posted streamed input ?

The course on FME Server authoring looks like it shows a workspace which receives some streamed input, but uses a separate WebSocketSender to forward this to an endpoint, not as a streamed output.

What I need is to run a workspace that streams _both_ input _and_ output at the same time. In my case an XML input, and a DGN output. And the "event" trigger lies in another program (i.e. outside FME Server), in which a user requests the function to run. So FME Server Automation is not an option.

Please advise.

What I can't figure out, is how to activate such a workspace, via REST or otherwise, and thought that the "streaming" capability when uploading workspaces adressed this.


Hi Richard.

I've looked thru the webhook article, and correct me if I'm wrong, but it seems like a GET request with url parameters and a streamed output. This is not what I'm looking for. Will a webhook accept posted streamed input ?

The course on FME Server authoring looks like it shows a workspace which receives some streamed input, but uses a separate WebSocketSender to forward this to an endpoint, not as a streamed output.

What I need is to run a workspace that streams _both_ input _and_ output at the same time. In my case an XML input, and a DGN output. And the "event" trigger lies in another program (i.e. outside FME Server), in which a user requests the function to run. So FME Server Automation is not an option.

Please advise.

What I can't figure out, is how to activate such a workspace, via REST or otherwise, and thought that the "streaming" capability when uploading workspaces adressed this.

Hi @Lars I Nielsen​ ,

 

It sounds like it might be best to discuss this through a case or on a call, and hash out the specific requirements. I'll try to be clear on a key point though while. WebHooks will trigger data to be streamed back to the client and can use input or process data from another stream if required. However, Data Streaming is a slight misnomer in that a data streaming service does not supply a continuous stream of data; it merely provides a snapshot of the data at a particular point in time.


Hi @Lars I Nielsen​ ,

 

It sounds like it might be best to discuss this through a case or on a call, and hash out the specific requirements. I'll try to be clear on a key point though while. WebHooks will trigger data to be streamed back to the client and can use input or process data from another stream if required. However, Data Streaming is a slight misnomer in that a data streaming service does not supply a continuous stream of data; it merely provides a snapshot of the data at a particular point in time.

Thanks Richard.

I know that "streaming" refers to the method, not the data. "Direct" (upload/download) might have been a better name for it, but alas.

I tried to create a webhook for the workspace, and there was a button to allow for upload, so it might do the trick after all.

I've now set up the webhook for testing, and will report back on that. I'll defer a case or call (not really a good option the time difference in mind) after we've had a chance to test it.

Cheers.


Reply