Azure Functions 主持程序( azure-functions-host)部署与使用指南
1. 目录结构及介绍
在 azure-functions-host
仓库中,项目采用典型的开发目录结构:
- build: 包含构建相关的脚本和配置。
- eng: 存储工程级别的自动化工具和配置,如 dotnet SDK 配置。
- samples: 示例代码,帮助理解如何使用 Functions 框架。
- schemas/json: JSON 架构文件,用于描述函数应用的配置和绑定。
- src: 主要源代码,包括函数运行时、WebHost 和其他相关组件。
- test: 测试代码,确保功能正确性和稳定性。
- tool: 工具集,可能包含辅助构建或测试的脚本。
- *.ignore 文件:如
.gitignore
,.sscignore
,定义了版本控制忽略的文件和目录。 - CODEOWNERS: 指定代码审查责任人的文件。
- CONTRIBUTING.md: 对贡献者的行为准则和提交指南。
- Dockerfile: Docker 镜像构建指令。
- LICENSE.txt, LICENSE_APACHE.txt: 许可文件,说明项目许可协议。
2. 启动文件介绍
主入口点:
- 在
src/WebJobs.Script.WebHost
文件夹中,Startup.cs
是应用程序的主要入口点,负责初始化 ASP.NET Core 的 Web 应用程序和设置 Azure Functions 运行时。
函数宿主启动:
src/WebJobs.Script.WebHost/bin
目录下的script.host.exe
或相应的dll
文件是实际的 Functions 宿主程序,它加载函数应用的代码并处理请求。
3. 配置文件介绍
appsettings.json:
- 存储应用程序级设置,例如日志级别、连接字符串等。这些设置可以通过环境变量覆盖。
local.settings.json:
- 在本地开发环境中使用,存储应用程序设置和应用服务连接字符串。
Values
节点包含键值对,这些设置不会部署到 Azure 生产环境。
host.json:
- 全局配置文件,影响整个函数应用的行为。比如并发执行、日志记录和触发器行为。这个文件可以定制函数应用的托管行为,但请注意在生产环境中某些高级设置可能受到限制。
function.json:
- 位于每个函数目录下,定义了函数的输入和输出绑定,以及其它特定于函数的配置属性。
Web.config (仅限Windows):
- 如果应用在 Windows 环境下运行,可能有一个
Web.config
文件,它包含 IIS 的配置设置。
为了部署和使用 azure-functions-host
,你需要遵循以下步骤:
- 设置开发环境,安装 .NET SDK 和相关依赖项。
- 克隆仓库
https://github.com/Azure/azure-functions-host.git
到本地。 - 使用
dotnet restore
命令恢复所有必要的包。 - 编译项目,使用
dotnet build
。 - 可以通过
dotnet run
在本地启动开发服务器并测试你的函数。 - 当准备好部署时,将项目发布到 Azure 函数应用,这通常通过 Azure CLI 或 Visual Studio 实现。
请参考 Azure Functions 文档 以获取更详细的部署和管理指导。