Called when there is some status update (ingestion rate updated, etc.)
This method is asynchronous. The status in StreamingQuery will always be latest no matter when this method is called. Therefore, the status of StreamingQuery may be changed before/when you process the event. E.g., you may find StreamingQuery is terminated when you are processing QueryProgressEvent.
Called when a query is started.
Called when a query is stopped, with or without error.