public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req, [CosmosDB( databaseName: "Subscriptions", collectionName: "Items", ConnectionStringSetting = "ms-account-profile-informationDBConnection")] DocumentClient client, ILogger log) { log.LogInformation("SubscriptionTriggerCount Request Started."); try { var service = new SubscriptionService(client); var count = await service.Count(); return(new OkObjectResult(count)); } catch (Exception ex) { var exception = new ApplicationException("Error Occuered", ex); return(new BadRequestObjectResult(exception)); } finally { log.LogInformation("SubscriptionTriggerCount Request Ended."); } }
public static async void SendSignalRMessage( [CosmosDBTrigger( databaseName: "Subscriptions", collectionName: "Items", ConnectionStringSetting = "ms-account-profile-informationDBConnection", LeaseCollectionName = "leases", CreateLeaseCollectionIfNotExists = true)] IReadOnlyList <Document> documents, [CosmosDB( databaseName: "Subscriptions", collectionName: "Items", ConnectionStringSetting = "ms-account-profile-informationDBConnection")] DocumentClient client, [SignalR(ConnectionStringSetting = "SignalRConnection", HubName = "msaccountprofileinformationhub")] IAsyncCollector <SignalRMessage> signalRMessages, ILogger log) { log.LogInformation($"{nameof(SendSignalRMessage)} Request Started."); try { var service = new SubscriptionService(client); var count = await service.Count(); await signalRMessages.AddAsync( new SignalRMessage { Target = "SignalRSubscriptionCountEvent", Arguments = new[] { new SignalRNotification { Count = count } } }); } catch (Exception ex) { var exception = new ApplicationException("Error Occuered", ex); log.LogError(exception, $"{nameof(SendSignalRMessage)}"); } finally { log.LogInformation($"{nameof(SendSignalRMessage)} Request Ended."); } }