コード例 #1
0
        public static async Task Run(
            [QueueTrigger("%TwitchChannelEventLookupQueue%", Connection = "TwitchStreamStorage")] TwitchSubscription Subscription,
            [Queue("%TwitchChannelEventProcessQueue%", Connection = "TwitchStreamStorage")] IAsyncCollector <TwitchChannelEventItem> EventProccessQueue,
            ILogger log)
        {
            log.LogInformation($"TwitchChannelEventLookup function processed: {Subscription.TwitchName}");

            var response = await TwitchClient.GetTwitchSubscriptionEvents(Subscription, log);

            foreach (var channelEvent in response.Events)
            {
                log.LogInformation($"TwitchChannelEventLookup Queing event {channelEvent.Id} for channel {Subscription.TwitchName}");
                await EventProccessQueue.AddAsync(new TwitchChannelEventItem()
                {
                    Event        = channelEvent,
                    Subscription = Subscription
                });
            }

            log.LogInformation("TwitchChannelEventLookup end");
        }
コード例 #2
0
        public static async Task Run(
            [QueueTrigger("%TwitchSubscribeQueue%", Connection = "TwitchStreamStorage")]
            TwitchSubscription Subscription,
            ILogger log)
        {
            log.LogInformation("TwitchSubscriptionAdd Begin");

            log.LogInformation($"TwitchSubscriptionAdd Process TwitchName {Subscription.TwitchName} TwitterName {Subscription.TwitterName}");

            log.LogInformation($"TwitchSubscriptionAdd Subscribing TwitchName {Subscription.TwitchName} TwitterName {Subscription.TwitterName}");
            try
            {
                await TwitchClient.SubscribeTwitchStreamWebhook(Subscription, log);

                log.LogInformation($"TwitchSubscriptionAdd Subscribed TwitchName {Subscription.TwitchName} TwitterName {Subscription.TwitterName}");
            } catch (System.Exception e)
            {
                log.LogError(e, "TwitchSubscriptionAdd exception subscribing");
            }

            log.LogInformation("TwitchSubscriptionAdd 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));
        }