咨询:每日运行ASP.NET 6应用的最佳Azure免费服务方案
问题解答
1. 能否用Azure Function定时调用Azure App Service托管的应用?
可以。Azure App Service免费层虽然没有Always On功能,但只要有外部请求进入,就会自动唤醒休眠的实例。你可以创建一个Timer触发器类型的Azure Function,设置每日固定时间触发,触发时向你的ASP.NET 6应用暴露的接口发送HTTP请求,就能触发应用执行数据获取和发送的任务。
2. 最佳免费服务/组合推荐
针对你的需求,推荐几种完全免费且适合Azure新手的方案:
方案一:直接使用Azure Functions(消费计划)
这是最简洁的方案,无需额外托管ASP.NET 6应用:
- 将ASP.NET 6应用里“从远程服务器获取数据并发送”的核心逻辑,迁移到Azure Function中
- 使用Timer触发器,通过CRON表达式配置每日固定运行时间(例如
0 0 9 * * *代表每天上午9点执行) - Azure Functions消费计划的免费额度:每月100万次执行、40万GB秒的资源使用,完全覆盖每日一次的任务需求
方案二:Azure App Service免费层 + Azure Functions消费计划
如果需要保留ASP.NET 6应用的独立部署:
- 将ASP.NET 6应用部署到Azure App Service的免费B1实例(每月有固定CPU/内存配额和流量限制,每日一次任务完全够用)
- 创建Timer触发器的Azure Function,定时向ASP.NET 6应用的接口发送HTTP请求,唤醒实例并触发任务
- 两个服务的免费额度均能满足需求,操作流程简单易上手
额外备选:GitHub Actions定时工作流
若不想依赖Azure定时服务,也可选择GitHub Actions:
- 在代码仓库中创建定时工作流,配置每日触发时间
- 工作流执行时,向ASP.NET 6应用的接口发送HTTP请求
- GitHub Actions免费版每月提供2000分钟运行时长,完全能支撑每日一次的短任务
内容的提问来源于stack exchange,提问作者user19187727
相关产品推荐
相关产品推荐

