【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,并搭建了一个最简单的环境。后续将在演示过程中融入更多的信息。

相关推荐
EllenShen12314 小时前
服务器检测databricks job的运行状态封装
运维·azure
安得权6 天前
Azure DevOps 学习概况总结
学习·azure·devops
Azure DevOps10 天前
Azure DevOps Server 正式版本发布
运维·microsoft·azure·devops
Channing Lewis13 天前
vault分生产和dev吗?也就是说是否支持在一个azure app中创建vault,但是分为生产和dev,而不是为生产和dev分别创建一个app
microsoft·azure
切糕师学AI15 天前
Azure RTOS ThreadX 简介
microsoft·嵌入式·azure·rtos
开开心心_Every22 天前
Word转PDF工具,免费生成图片型文档
网络·笔记·pdf·word·powerpoint·excel·azure
Leinwin23 天前
Azure NCv6 现已开放公共预览
microsoft·azure
具***724 天前
自动驾驶学习宝藏:Autoware Universe 中英对照技术文档
azure
询问QQ:688238861 个月前
线性与非线性MPC控制的四旋翼轨迹跟踪仿真对比研究
azure
宝桥南山1 个月前
Azure - 尝试使用一下Kusto Query Language(KQL)
sql·microsoft·微软·database·azure·powerbi