【发布时间】:2022-12-04 10:50:35
【问题描述】:
我想每天早上 5 点运行一个任务,将一些数据写入数据库以创建一些报告。为此,我认为我可以使用Azure Functions(计时器触发器).我的目标是先在本地调试函数(使用本地数据库),然后再将其发布到 Azure。为此,我在中创建了一个新的 Azure Functions 项目视觉工作室 2019使用以下参数:
- .NET 5.0(已隔离)。
- 定时器触发器。
- 存储帐户 (AzureWebJobsStorage):存储模拟器。
- 时间表:0 0 5 * * *
如果我尝试在不对代码进行任何更改的情况下运行该函数(在键盘上按 F5),它会打开一个 CMD 窗口,其中包含用字符创建的彩色 Azure Functions 徽标,然后出现以下错误:
错误:未知参数 --port
在项目属性 > 调试选项卡 > 应用程序参数中,我有 --port 7282。我有一个带有此消息的系统托盘图标:“存储模拟器已启动”。
我尝试了What is the simplest way to run a timer-triggered Azure Function locally once?问题的答案,但我得到了同样的错误。
我需要做什么才能在本地调试该功能?我需要安装任何特定工具吗?
如果有帮助,我有以下文件:
程序.cs
public class Program
{
public static void Main()
{
var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.Build();
host.Run();
}
}
功能1.cs:
public class Function1
{
private readonly ILogger _logger;
public Function1(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<Function1>();
}
[Function("Function1")]
public void Run([TimerTrigger("0 0 5 * * *")] MyInfo myTimer)
{
_logger.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
_logger.LogInformation($"Next timer schedule at: {myTimer.ScheduleStatus.Next}");
}
}
public class MyInfo { ... }
public class MyScheduleStatus { ... }
【问题讨论】:
标签: c# azure debugging azure-functions visual-studio-2019