public static async Task Run( [TimerTrigger("0 0 * * * *")] TimerInfo myTimer, [Blob("%TwitchSubscriptionBlob%", Connection = "TwitchStreamStorage")] string SubscriptionJsonContent, [Queue("%TwitchSubscribeQueue%", Connection = "TwitchStreamStorage")] IAsyncCollector <TwitchSubscription> SubscribeQueue, [Queue("%TwitchUnsubscribeQueue%", Connection = "TwitchStreamStorage")] IAsyncCollector <TwitchSubscription> UnsubscribeQueue, ILogger log) { log.LogInformation($"{nameof(TwitchScheduledSubscriptionRegistration)} function executed at: {DateTime.Now}"); log.LogInformation($"{nameof(TwitchScheduledSubscriptionRegistration)} SubscriptionJsonContent: {SubscriptionJsonContent}"); var TwitchSubscriptions = JsonConvert.DeserializeObject <IList <TwitchSubscription> >(SubscriptionJsonContent); log.LogInformation($"Count: {TwitchSubscriptions.Count}"); var result = await TwitchClient.InvokeSubscriptionRegistration(TwitchSubscriptions, SubscribeQueue, UnsubscribeQueue, log, nameof(TwitchScheduledSubscriptionRegistration)); var resultString = JsonConvert.SerializeObject(result); log.LogInformation($"{nameof(TwitchScheduledSubscriptionRegistration)} Result: {resultString}"); log.LogInformation($"{nameof(TwitchScheduledSubscriptionRegistration)} End"); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, [Queue("%TwitchSubscribeQueue%", Connection = "TwitchStreamStorage")] IAsyncCollector <TwitchSubscription> SubscribeQueue, [Queue("%TwitchUnsubscribeQueue%", Connection = "TwitchStreamStorage")] IAsyncCollector <TwitchSubscription> UnsubscribeQueue, ILogger log) { log.LogInformation($"{nameof(TwitchSubscriptionRegistration)} processed a request."); var requestBody = await req.ReadAsStringAsync(); log.LogInformation($"{nameof(TwitchSubscriptionRegistration)} RequestBody: {requestBody}"); var TwitchSubscriptions = JsonConvert.DeserializeObject <IList <TwitchSubscription> >(requestBody); log.LogInformation($"{nameof(TwitchSubscriptionRegistration)} Count: {TwitchSubscriptions.Count}"); var result = await TwitchClient.InvokeSubscriptionRegistration(TwitchSubscriptions, SubscribeQueue, UnsubscribeQueue, log, nameof(TwitchSubscriptionRegistration)); log.LogInformation($"{nameof(TwitchSubscriptionRegistration)} End"); var responseString = JsonConvert.SerializeObject(result); return(new OkObjectResult(responseString)); }