介绍
FuntionApp 是微软云推出的一款serverless产品服务,作为coder可以无需关心程序部署所需的infra信息,只需要focus自己的业务代码实现即可
使用场景
是不是所有的业务都可以使用serverless产品呢?理论上是可以的,但是从实际落地经验来看,个人建议如下场景可以考虑:
1、无状态的服务,比如单纯提供查询、计算的业务需求实现
2、对业务量,并发量要求不高的业务需求
开发限制
市面上成熟的serverless产品,比如azure的function app 、aws的lambda等等,其实对NodeJs、python支持的最好,尤其是python语言支持最好,可以实现在线编码,调整代码;兼容最不好的是java语言,需要在本地环境开发好才能部署到对应的云环境中,也不能很好的支持在云上直接修改java代码,本人理解可能是语言本身的特性吧
FunctionApp实操
环境准备
本人由于是采用java语言进行解释,所以后面的实操都是基于java的开发环境Idea来说明
1、Idea 安装Azure开发工具插件Azure Toolkit for InteliJ
如下图所示:
2、设置Azure环境变量
此步骤很关键,默认Azure Environment是Global,即
中国地区的客户需要手动切换,如下图所示:
3、连接Azure
登陆方式有4种,具体可以根据实际的要求,本人以OAuth2.0为例说明,点击Sign In 如下图所示:
输入账号密码,登陆成功后会弹出如下图所示,让我们选择对应的订阅:
编写Function
新建一个Function Project,如下图所示:
点击Create,如下图所示,新建好一个function app
默认会自动新建一个HttpTrigger的Function,我们也可以根据业务需要新建其他类型的Trigger,比如定时任务需要新建一个TimerTrigger Function:
部署function app到Azure
查看部署成功后的Function
如下图所示,可以查看已经部署成功的functions
在线测试Function
可以通过如下图所示的操作,测试我们开发好的function
输入接口需要的参数及header信息,即可运行测试