首页 > 解决方案 > 如何使函数中的 HttpTrigger 和 TimerTrigger 工作

问题描述

尝试为 Heartbeat 添加 HttpTrigger。但是无法点击 Heartbeat HttpTrigger。只有 TimerTrigger 有效。我需要做什么才能点击 HttpTrigger?我什至看不到我应该在日志中使用什么 URL。

信息:Microsoft.Azure.WebJobs.Hosting.JobHostService[0] 启动 JobHost 信息:Host.Startup[0] 找到以下函数:FirstKey.RiskZone.WebJob.Functions.RiskZoneCalculator FirstKey.RiskZone.WebJob.Functions.Heartbeat

程序.cs

    }).ConfigureWebJobs(b =>
    {
        b.AddAzureStorageCoreServices();
        b.AddAzureStorage();
        b.AddHttp();
        b.AddTimers();

函数.cs

    [Singleton]
    [FunctionName("Calculator")]
    public async Task Calculator([TimerTrigger("%schedule%", RunOnStartup = true)]
        TimerInfo timer)
    {
        try
        {
         
            await _processor.Process();
        }
        catch (Exception ex)
        {
            _logger.LogError(ex.Message);
            throw;
        }
    }

    [FunctionName("Heartbeat")]
    public async Task<IActionResult> Heartbeat([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "heartbeat")] HttpRequest req,
        ILogger log)
    {
        log.Log(LogLevel.Information, "Received heartbeat request");

        var status = await _healthCheckService.CheckHealthAsync();
        return new OkObjectResult(Enum.GetName(typeof(HealthStatus), status.Status));
    }

标签: c#azure-webjobswebjob

解决方案


推荐阅读