簡體   English   中英

Azure function 不運行異步方法

[英]Azure function doesn't run async method

我有一個不在 Azure 中運行的 Azure Function。 它在本地運行,但在 Azure 中卻沒有。 我有一個 try/catch,它沒有捕獲任何異常,但在日志中我得到“2020-07-26T12:23:00.021 [錯誤] 發生異常。” 不明白我做錯了什么。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using FluentEmail.Core;
using FluentEmail.Core.Models;
using FluentEmail.Mailgun;
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;

namespace SendEmailFunction
{
    public static class SendEmailFunction
    {
        private const string EmailSubject = "Collaboration proposal";

        [FunctionName("SendEmailFunction")]
        public static async Task Run([TimerTrigger("0 */1 * * * *")] TimerInfo myTimer, ILogger log)
        {
            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");

            try
            {
              var path = Path.Combine(Directory.GetCurrentDirectory(), "1.csv");
              List<string> lines = (await File.ReadAllLinesAsync(path)).ToList();
            }
            catch (Exception ex)
            {
                log.LogError($"An exception occured.", ex);
            }
        }
    }
}

這是我得到的日志:

2020-07-26T12:35:00.007 [信息] C# 定時器觸發 function 執行於:7/26/2020 12:35:00 PM

2020-07-26T12:35:00.030 [錯誤] 發生異常。

2020-07-26T12:35:00.045 [信息] 執行“SendEmailFunction”(成功,Id=8b5d1b47-37de-4f84-8936-d31b19f0f73d,持續時間=42ms)

克里特納的回答很有幫助,因為它讓我看到了例外。

這是因為它沒有找到我從中讀取值的文件。 我通過構造這樣的路徑來解決這個問題: var path = Path.Combine(context.FunctionAppDirectory, "1.csv");

其中上下文是 Microsoft.Azure.WebJobs 命名空間中的 ExecutionContex。

現在已經修好了。

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM