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

相关推荐
weixin_307779136 天前
Azure Synapse Dedicated SQL Pool统计指定表中各字段的空值、空字符串或零值比例
数据仓库·sql·云计算·azure
發糞塗牆6 天前
【Azure 架构师学习笔记】- Azure Databricks (11) -- UC搭建
azure·azuredatabricks
Elastic 中国社区官方博客8 天前
释放你的元数据:使用 Elasticsearch 的自查询检索器
大数据·数据库·elasticsearch·搜索引擎·云原生·全文检索·azure
雪峰10 天前
在 Azure 上部署 DeepSeek 并集成 Open WebUI
microsoft·ai·azure
微软技术栈12 天前
活动预告 |【Part1】Microsoft Azure 在线技术公开课:AI 基础知识
人工智能·microsoft·azure
Azure DevOps15 天前
Azure DevOps Server(TFS):旧版本即将停止支持
运维·microsoft·azure·devops·tfs
Elastic 中国社区官方博客16 天前
Elasticsearch 开放推理 API 增加了 Azure AI Studio 支持
大数据·数据库·人工智能·microsoft·ai·全文检索·azure
Azure DevOps16 天前
Azure DevOps Server:集成奇安信开源卫士(OpenSourceSafe)
运维·microsoft·开源·azure·devops
雪球小梦1 个月前
AI x 长寿:OpenAI开发出逆龄AI GPT-4b micro
人工智能·microsoft·ai·openai·azure