Skip to content

Processing a Query

Duncan Jones edited this page Jan 28, 2019 · 2 revisions

Overview of running a query

A query request is received by an event grid topic, with the parameters required to perform the query passed in the data parameter and also with a return address parameter to specify to where the response is to be sent.

Query trigger from Postman

This return address would typically be a webhook so that you can have your queries executed in an asynchronous manner but it is also possible that the return address would be a storage location to which the results be written.

Query return by webhook

This triggers and azure function which, in turn, calls a Durable Function orchestrator. This orchestrator calls each step in the query handling process individually as Durable Function activities.

These individual steps write their progress to an event stream which underpins the command execution. This allows for post-hoc analysis of what the query handler did to perform that query.

Query event stream

In addition any projections of classifiers run to fulfil the query write their return values to the event stream underlying the query. This allows for a future reference to the query to get the data as it was when the query was run without re-running the query.

Clone this wiki locally