前言
本文将介绍部署Azure Function的完整过程。这一次会使用Node.js作为开发语言,以及使用VS Code作为编辑器。
在后面的博文中会写到如何提高Node.js Azure functions的性能。
进入正题
首先在Azure portal上创建一个Function App然后选择使用VS Code做为开发环境。
我们先了解一些基本参数:
- App name:functions群组的唯一名称。这也是资源最终URL的尾部。比如App name是example,URL就会是example.azurewebsites.net
- Subscription: 选择你的订阅
- Resource group & version: 选择开发语言和版本
- OS: Windows是默认的选项,但是你也可以使用Linux
- Runtime stack: 我们选择node,版本选择10
- Publish: 发布类型,我们选择code
- Hosting plan: 现在一个消费计划,Azure Fuctions计费已次计算,很便宜。具体参考Azure functions定价
- Location: 选择一个资源的位置,中国速度最快应该是东亚地区
- Application Insights: 用于记录日志定位问题
点击创建过几分钟之后,会提示创建成功。
然后我们选择VS Code作为开发环境
提示我们需要安装所需工具,在上一篇博文中,我们介绍安装了开发Azure Functions的工具。这里不再赘述。
我们推荐在VS Code中安装两个扩展:
- Azure Account: 整合Azure账户和VS Code.
- Azure Functions: 帮助我们创建,维护,管理,部署function
下一步我们登录的我们的Azure账号,然后我们就可以看到我们刚刚建立的Function App
现在可以使用Azure Functions扩展床一个HTTP trigger的function
然后输入Function名称,选择‘Function’作为缱绻等级
现在我们已经创建了一个function。主文件是index.js。这是一个模版,它接受一个get或post请求,在参数中如果有name字段,则返回“Hello ” + (req.query.name || req.body.name),否则返回400错误.
另外一个重要的文件是function.json,它包含了一些配置。比较常用的配置是HTTP请求方式。你可以选择GET, POST, PUT, DELETE, OPTIONS等。
测试你的Function然后部署到Azure
本地运行之后,我们可以断点进行调试。
接下来我们要部署到这个function,选中function名称,右键,选择“Deploy to Function App…”
选择你想部署到的Fnction App
如果没有问题,我们可以收到一个部署成功的提示
总结
使用VS Code开发是非常高效的,它集合Azure官方的扩展,所以很容易地本地开发和部署到Azure。