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

相关推荐
Miya_Ye1 天前
Azure AI-102 自学记录
microsoft·flask·azure
Linux运维技术栈1 天前
【实战+原理】微软云 Azure Database 私有网络接入模式全解析:从子网委派到Private Endpoint
数据库·microsoft·azure
Webb Yu3 天前
Azure Databricks 实践:数据分析、机器学习、ETL 与 Delta Lake
机器学习·数据分析·azure
Linux运维技术栈4 天前
Terraform 从入门到实战:历史、原理、功能与阿里云/Azure 上手指南
运维·阿里云·kubernetes·azure·terraform
Liquad Li4 天前
Azure Data Factory (ADF) vs Azure Logic Apps: 对比分析
microsoft·azure
Liquad Li4 天前
Azure Logic App 与 Azure Function 对比分析
microsoft·azure
小沈同学呀12 天前
使用Java操作微软 Azure Blob Storage:上传和下载文件
java·microsoft·azure
CAE虚拟与现实14 天前
Azure Marketplace 和 Microsoft AppSource的区别
microsoft·azure·appsource·marketplace
今天也要学习吖20 天前
Azure TTS Importer:一键导入,将微软TTS语音接入你的阅读软件!
人工智能·学习·microsoft·ai·大模型·aigc·azure