图表的天蓝色函数订阅

问题描述 投票:0回答:1

我已经定义了一个通知功能,将要订阅图表:

public static class NotificationFunction
    {
        [FunctionName("NotificationFunction")]
        public static async Task<HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string validationToken = req.Query["validationToken"];

            log.LogInformation($"validationToken {validationToken}");    

            return new HttpResponseMessage(System.Net.HttpStatusCode.OK)
            {
                Content = new StringContent(validationToken, System.Text.Encoding.UTF8, "text/plain")
            };
        }
    }

我尝试在计时器函数中添加此notificationUrl:

var subscription = new Subscription
            {
                ChangeType = "created,updated",
                NotificationUrl = NotificationUrlValue,
                Resource = "me/mailFolders('Inbox')/messages",
                ExpirationDateTime = DateTimeOffset.Parse("2019-12-30T18:23:45.9356913Z"),
                ClientState = "secretClientValue"
            };

NotificationUrlValue是NotificationFunction URL,如果我对其进行测试,但是在计时器触发器运行时可以正常工作:

Code: InvalidRequest
Message: Subscription validation request failed. Must respond with 200 OK to this request.

在“触发器功能监视器”中,我看不到任何电话,也许是防火墙问题?从哪个IP调用NotificationUrl?

azure-functions azure-ad-graph-api
1个回答
0
投票

问题是NotificationUrl在防火墙后面,解决方案是将NotificationUrl更改为可访问的URL。

© www.soinside.com 2019 - 2024. All rights reserved.