Excellent, thanks...
I have a prototype with Event Hubs for accepting Commands, Functions (one per Command) that apply the Commands to an Aggregate Root, then Events routed via Event Grid to Functions - one per Aggregate type, that processes any and all Events that might be raised by that specific Aggregate type.
At the moment, one Function per Aggregate type is the only way I can think of to work around cold starts leading to Functions per Event type processing Events out of order for Projections etc.
Lots of reading to do - cheers!