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

相关推荐
山猪打不过家猪9 小时前
Azure面试
microsoft·azure
發糞塗牆12 小时前
【Azure 架构师学习笔记】- Azure Function (2) --实操1
azure·azure function
petunsecn2 天前
将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(1)
elasticsearch·azure
petunsecn2 天前
将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(3 纯python的经济方案)
python·elasticsearch·microsoft·azure
明 庭2 天前
Azure 100 学生订阅下,使用 Docker 在 Ubuntu VPS 上部署 Misskey 的详细教程
ubuntu·docker·azure
weixin_307779132 天前
Azure Synapse Dedicated SQL Pool执行计划的步骤对应于查询优化器执行给定SQL查询的部分和优化策略
云计算·azure
weixin_307779132 天前
Azure Synapse Dedicated SQL Pool通过配置选项和参数优化性能
云计算·azure
shelby_loo2 天前
在 Azure 100 学生订阅中新建 Ubuntu VPS 并部署 Mastodon 服务器
服务器·ubuntu·azure
明 庭3 天前
在 Azure 100 学生订阅中新建 Ubuntu VPS 并通过 Docker 部署 pSQL 服务器
服务器·ubuntu·azure
petunsecn4 天前
没有正确使用HTTP Range Request,导致访问Azure Blob存储的视频没有实现流式播放
http·音视频·azure