【Azure 架构师学习笔记】- Azure Function (1) --环境搭建和背景介绍

本文属于【Azure 架构师学习笔记】系列

本文属于【Azure Function 】系列。

前言

随着无服务计算的兴起和大数据环境中的数据集成需求, 需要使用某些轻量级的服务,来实现一些简单操作。因此Azure Function就成了微软云上的一个必不可少的组成部分。

下面先简单创建环境,并且在过程中介绍一些知识。

创建Azure Function

在Azure Portal 上搜索Function APP, 点击create:

这里简要介绍一下Azure Function, Function App, Function:

  • Azure Function:是服务名, 入Azure VM, Azure Storage Account等。 简单理解就是"种类"。
  • Function App: 是Azure Function的一个实例。就如某一个SQL DB, 某一个具体的Storage Account。
  • Function: 是用代码编写的功能,一个funcion app可以有多个function(完整功能的代码)。

但是一般情况下,Azure Function和Function App是可以混用的。

Hosting Plans

接下来就是选择hosting plan, 虽然azure function是serverless, 但是不代表真的没有server, 它总要有一个地方运行服务和代码,只是不需要你管理而已。

当前版本中有下面的几种plan, 这些plan也指定了代码所能运行的操作系统平台,比如Python, 只能运行在Linux上,同时plan也带有了scale up, out 的特点。

  • Consumption:是默认的hosting plan, 通常用于开发和测试环境。
  • Premium:适用于连续运行的,需要更多CPU, 内存还有网络安全要求的环境,可以运行更久的function和更快的启动时间(Azure Function并不设计用于运行长时间的代码, 所以会有比较短的超时时间)

由于这些计划的变更频率较快,为了获得最新更新,建议使用前检查官方链接:

https://learn.microsoft.com/zh-cn/azure/azure-functions/functions-scale

不同的plan具有不同的基础架构,通常是各种VM,所以产生的费用也有很大区别,建议如果是学习,应该对比一下费用再创建。

这里使用consumption plan和python语言(OS 只能选择Linux)。 同时保持其他默认配置。

创建完成后,可以看到会有一个Function App, 一个Storage Account(这里使用了现有的,所以没有额外创建), 还有一个App Service Plan。 到此为止,我们就有了一个初步的Azure Function 环境。

背景

接下来介绍一些Azure Function的背景。Azure Function 是微软的事件驱动无服务解决方案。

从下图可以看到,用户可以通过编写代码部署到Azure Function中。

Azure Function 通过App Service Plan来运行代码。

当文件上传(或其他操作,基于触发器的种类),触发了事件时,就会调用对应的代码(function)执行操作,也可能会调用Logic app等其他支持的服务进行操作,最终展示结果给用户。

Azure Function是事件驱动(Event-driven), 意味着它会被某些事件所触发, 这些事件会跟触发器(trigger)关联。

触发器负责执行某个function,常见的trigger可见下图:

Bindings:

Azure Function是Azure服务, 往往需要跟其他外部服务, 资源交互。Bindings用于Function中连接不同 Azure 服务中的数据。我们可以在同一函数中连接到多个服务。这个过程需要编写代码实现,但是只需定义属性并输入请求的参数即可。


上图展示了Bindings和Trigger与Azure Function之间的关系。

Input Bindings: 可以读取已连接的服务的数据并处理。

Output Bindings:用于发送到相关服务的处理后的数据。

小结

本文简要介绍了Azure Function,并搭建了一个最简单的环境。后续将在演示过程中融入更多的信息。

相关推荐
诺未科技_NovaTech7 天前
上海诺未携手惠灵顿中国,基于微软 Azure 打造 AI 教育生态标杆
人工智能·microsoft·azure·ai教育
编码者卢布8 天前
【Azure AI Search】Index的字段使用默认Analyzer(standard.lucene) 和 en.microsoft 有什么不同?
microsoft·lucene·azure
weixin_3077791310 天前
在 Azure 上构建数据库路由与异构整合层:原理、方案与最佳实践
数据库·人工智能·后端·云计算·azure
2601_9618752410 天前
法考资料全套2026|客观题|主观题|资料已整理
阿里云·云计算·腾讯云·azure·七牛云存储·csdn开发云·火山引擎
xhtdj11 天前
Build 2026:Azure API Management 推出统一模型 API 并新增 MCP 内容安全能力
人工智能·安全·azure
JimCarter12 天前
使用Azure Devops Pipeline将Docker应用部署到你的Raspberry Pi上
docker·azure·树莓派·devops·orangepi·香橙派·raspberrypi
2601_9618752413 天前
高考真题电子版|2025高考全科真题分类PDF
金融·pdf·云计算·azure·七牛云存储·交友·高考
热爱学习的小翁同学14 天前
Azure Automation Runbook 获取托管标识的访问令牌(Access Token)
microsoft·azure
编码者卢布19 天前
【Azure App Service】应用服务中的SNAT (Source Network Address Translation 源网络地址转化)
microsoft·azure
编码者卢布23 天前
【Azure App Service】应用服务(Web App)里的 SNAT 端口 vs 出站连接数:到底是谁限制了谁?
flask·azure·web app