Вы можете использовать Azure Выходную привязку SignalR , например, для подключения Cosmos DB Change Feed к SignalR:
public static async Task Run(
[CosmosDBTrigger(
databaseName: "your-monitored-db",
collectionName: "your-monitored-collection",
ConnectionStringSetting = "CosmosConnectionStringSettingName",
LeaseCollectionName = "leases")]
IReadOnlyList<Document> events,
[SignalR(HubName = "events", ConnectionStringSetting = "SignalRConnectionStringSettingName")]
IAsyncCollector<SignalRMessage> signalRMessages,
ILogger log)
{
await signalRMessages.AddAsync(new SignalRMessage()
{
Target = "nameOfTheSignalRHub",
Arguments = new[] {
events.Select(singleEvent => JsonConvert.DeserializeObject<YourEventClass>(singleEvent.ToString()))
}
});
}
Пожалуйста, см. этот репозиторий для полное решение, которое использует архитектуру, которую вы предлагаете.