前言
Azure Function 是微软 Azure 提供的一种无服务器托管式的 Function 部署方式,即可以将 Function 直接部署到 Function App 函数应用中,不需要配置服务器和运行环境,支持 C++、Python、Java、JavaScript 等多种语言。
Azure Function 对于部分语言提供网页开发环境,但 Python 等需要在本地开发后,Deploy 部署到 Azure Function App 函数应用中。本地开发推荐使用 VSCode。
安装环境
- VSCode:安装过程略
- 在VSCode中安装 Azure Tools 和 Azurite 扩展。
本地开发
创建 Function App ,可以在 Azure Portal 门户创建,也可以直接使用 VSCode 扩展创建,建议使用 VSCode。在门户创建时,需要在配置中添加 AzureWebJobsStorage
指定存储位置,否则在部署 Function 时会报如下错误:
Deployment Log file does not exist in /tmp/oryx-build.log
使用 VSCode 创建 Function App:
- 登陆 Azure Portal 门户,创建账号。
- 开通 Subscriptions 订阅,Azure 提供免费订阅,需要绑定信用卡(约7元人民币)。免费订阅的账号有12个月的免费期,并提供200美刀的赠金可以使用在付费服务器。Function 是免费服务器,免费期过后也不收费。
- 启动 VSCode,打开 Azure 扩展面板,按快捷键
CTRL+SHIFT+P
,选择Azure: Sign In to Azure Cloud
,完成 Azure 账号授权。
- 启动 VSCode 中的 Azure 扩展面板,在 Resources 面板中选择
Create Function App in Azure
。如果账号没有开通订阅,会提示需要选择订阅账号。期间,需要输入以下信息,按提示输入后,会在 Azure 创建相关的函数应用、存储账号等:
- Function App:函数应用名称
- Runtime stack:运行堆栈,即函数的运行语言,比如 Python 3.10 等。
- Location:部署位置,按照实际情况选择。
创建成功后,可以在 Resources 面板下看到新创建的 Function App。
- 在 Azure 面板的 Workspace 面板下,创建本地项目。
- 选择本地项目所在目录。
- 选择项目所用的语言,比如 Python(Programming Model V2) 。
- 选择所用编译器,并自动创建虚拟环境。
- 选择 Function 所用的模板,常用的 HttpTrigger。
- 输入 Function Name。
- 选择 Authorization level,一般使用 FUNCTION。
创建完成后,会在本地生成虚拟环境和开发目录。其中的function_app.py
即是函数文件。其中已经有示例代码,按示例开发即可。
注意:
本地调试
使用 VSCode 的调试功能,即可在本地测试写好的 function_app.py
函数。注意需要提前安装好 Node.JS。
部署 Function 到 Azure
在 VSCode 的 Workspace 面板,选择 Deploy to Function App
,选择目标 Function App即可。
需要注意:
- Function 中需要的 Python 依赖包,必须在
requirements.txt
中申明,否则部署会失败。 - 使用门户创建的 Function App 需要添加存储配置项,否则部署时报错。