如何在Azure Portal和Visual Studio 2019中创建和使用Azure函数

67 阅读11分钟

在Azure Portal和Visual Studio 2019中创建和使用Azure函数

我们可以使用Azure函数创建一个无服务器解决方案。它需要更少的代码、基础设施和维护成本。

诸如Azure这样的云平台为我们提供了保持应用程序运行所需的最新资源。

Azure函数的特点

你可以用你选择的任何语言编写你的函数代码。Azure函数可以部署在任何支持.NET 框架的平台上。

可扩展性- Azure函数使用可扩展的按需计算技术。这些函数是动态的,所以当请求的数量增加时,新的资源会自动分配给服务。当请求减少时,额外的资源和应用实例会自动终止。

Azure功能很小,不需要服务器--应用程序被设计为执行特定任务。它默认是轻量级的。Azure函数是无服务器的,这意味着它们可以在不使用任何Web服务器或虚拟机的情况下部署和运行。

Azure函数可以部署在各种配置中,包括Linux、Windows和容器。它们是可用的,可以被授权的应用所消费。

Azure功能允许你专注于用无服务器计算来交付业务价值。

Nuget和NPM(Node Package Manager)可分别用于添加依赖性和增强你的应用程序的逻辑。

Azure功能支持使用GitHub、Azure DevOps、Bitbucket和其他CI/CD方法进行持续集成和部署。

它们使用SSL绑定、VNet集成和OAuth提供者来保障你的功能。活动目录、Facebook、Twitter、谷歌和微软可以使用OAuth标准进行认证。

很容易将Azure App Insight(AAI)添加到你的应用中,以监测和分析性能。触发器和绑定也可以让你的无服务器应用对事件作出反应,并与其他服务进行通信。

使用Azure函数的优势

  • 它们很小,部署和运行所需的资源很少。
  • 它们是无服务器的,这意味着你不需要在云中设置一个网络服务器。
  • 在不使用时,该应用是按需计算的,不消耗任何资源。
  • 该应用程序是一种按使用付费的服务。如果你不使用它,你不需要支付任何费用。
  • 该应用程序只在事件被触发时运行。
  • 该应用程序是自成一体的;因此,它对其他应用程序没有影响或干扰。
  • 创建和部署一个应用程序很简单。
  • Azure应用很容易更新和支持。

流行的Azure服务的例子

  1. Azure中的活动目录

Azure活动目录(AD)是微软的领先云计算技术之一。

它有助于管理和保护任何人可能使用的身份。该平台有很好的安全措施。

  1. Azure CDN

Azure内容交付网络(CDN)有助于组织的成长和发展。它的服务器是为适应微软Azure的众多网络应用和云服务而建立的。

许多公司使用Azure CDN,将材料安全地运送到世界各地。

  1. Azure数据工厂

为了使云计算中的数据传输和移动性自动化,Azure数据工厂接受来自不同来源的数据。

Azure机器学习、Azure HDInsight Hadoop和Azure数据湖分析等Azure服务被用来进行计算。

  1. Azure SQL

说到数据库管理,Azure SQL是一种服务模式(PaaS)。这意味着它负责大多数后端任务,如监控、打补丁和自我更新。

由于Azure SQL的效率,包括它是必不可少的。它只需要很少的人力参与。

  1. Azure函数

开发人员使用Azure函数来响应事件并附加到不同的系统。使用Azure Function时,你只需为你使用的资源付费。

通过Azure函数,企业可以执行代码来响应不同的事件,而不需要相应的基础设施。

Azure的组成部分

  1. 计算

它提供应用程序开发、托管和部署服务。

  1. 存储

说到云数据存储,Azure存储是一个重要的角色。

它提供了一个随用随付的选项,这样用户只需为他们使用的资源付费。此外,其存储容量几乎是无限的。

  1. 数据库

这个组件为数据管理提供SQL和NoSQL功能。像SQL Server、Azure Database for MySQL等关系型数据库都受到支持。

也可以使用像Cassandra这样的NoSQL数据库。Cosmos DB(文档DB)由于其速度和改进的性能,是另一个支持的选项。

  1. 安全和认证

认证、授权、密钥加密和其他与安全有关的任务由该组件处理。它还可以识别和应对安全威胁。

流行的服务包括Azure Active Directory(AAD)、Azure Key Vault和其他。

  1. 网络

这个组件允许你创建一个虚拟私人网络(VPN)并安全地连接到它。只有授权的服务可以使用在VPN内建立的虚拟机。

可以使用内部和Azure数据中心建立连接。Azure流量管理器也控制数据中心之间的流量。

  1. 监控

Azure监控服务收集和分析来自云和内部应用的日志,以提高性能。

Azure监控服务协助识别有问题的区域,以提高性能。指标和日志被用来存储应用程序收集的所有数据。

  1. 网络服务

网络应用服务允许你部署本地创建的网络应用。这些应用程序可以使用Java、.NET、PHP、NodeJS和其他编程语言创建。

它与Windows和Linux都兼容。用户已经不需要担心开发的问题。Azure负责实施和维护。

网络服务在默认情况下被设置为公开的。这使得它们可以从Azure云的任何地方访问。

  1. 移动服务

这个组件作为移动应用程序的后端。如果你的应用程序收到大量的请求或需要存储大量的数据,这就是你要做的事情。

它提供了一种叫做通知集线器的服务,向手机发送警报。Notification Dash得到了苹果和谷歌的支持。

ARM模板的概念

基础设施即代码可以使用Azure资源管理器(ARM)模板快速交付到Azure环境中。

我们可以在一个JSON文件中提供我们想要的对象,包括它们的名称和属性。

使用ARM API的好处是,它允许人们从单个JSON文件中发布许多资源。

然后,ARM API将指定的属性分配给这些资源。这是通过创建符合这些细节的新对象或改变现有对象(如果资源名称和类型相同)来实现的。

然而,尽管ARM API将资源添加到Azure中,但没有代码或应用程序被添加到资源中。使用ARM模板来部署虚拟机,我们可以使用已经安装的SQL服务器。尽管如此,我们还是不能使用SSDT包来部署或恢复数据库。

Azure功能的用途

  • 调度任务
  • 通知和提醒
  • 发送电子邮件
  • 执行备份活动
  • 在后台进行计算

Azure函数使用触发器。当事件被触发时,任务在后台运行。因此不是所有的应用都能得到Azure函数应用的支持。

应避免使用Azure函数,如果。

  • 一、是多任务。
  • 函数代码包含太多的复杂逻辑。
  • 用一组Azure函数应用程序代替API。
  • 使用来自前端应用程序的数据,同时保存到后端数据库或从后端数据库保存。

Azure函数与Web作业

可以使用Azure App Service的WebJobs. WebJob来自动执行程序或脚本,可分为两组。

连续:它使用WebJob来检查共享文件夹中的新图片,使用一个连续的循环。

触发式:可以按计划运行,也可以手动运行。

一个WebJob可以适应不同的语言。例如,我们可以使用Shell Script来修改WebJob (Windows、PowerShell、Bash)。

我们也可以将该框架与PHP、Python、Node.js、JavaScript和.NET结合起来使用,构建一个应用程序。

Azure功能在很多方面都与网络工作类似,只是在利用一个功能时,你不必关心基础设施的问题。

它们可能是由各种各样的东西带来的,包括。

  • HTTPTrigger- 这个函数是在响应HTTP请求时调用的。
  • TimerTrigger- 允许在一个设定的时间表上执行任务。
  • BlobTrigger- 它支持向你的Azure内存账户添加一个新的blob。
  • CosmosDBTrigger- 它发生在NoSQL数据库中,由于新的或修改的文档。

一般来说,Azure函数的适应性更强,使用起来也更直接。另一方面,WebJob在以下情况下是一个优越的选择。

  • 脚本应该作为当前应用服务应用程序的一个组成部分来维护。
  • 你必须对要执行的对象有完整的命令。

使用Visual Studio 2019创建Azure函数

本节将讨论如何使用Azure门户来构建Azure函数。

在创建Azure函数之前,我们必须首先在Azure门户中构建一个函数应用程序。然后,我们可以使用该函数应用程序来开发各种类型的Azure函数。

使用Azure门户创建函数应用

第1步

要想开始,我们必须首先登录Azure门户。然后,从仪表板中选择Create a Resource 选项。然后,从resource list ,选择Function App 选项。

Step 1a

第2步

要构建一个功能应用,我们现在必须在Create Function App 部分提供以下选择。

生成一个新的Resource Group ,或从头加入一个现有的。

函数应用程序的名称包含在这个字段中。

接下来,在CodeDocker Container 之间选择。这个选项指定了我们要运行我们的函数应用程序的环境。我们将使用代码进行演示。

然后我们必须选择在构建Azure函数时使用哪种语言。我们选择的编程语言是.NET。

当你从菜单中选择Runtime Stack ,该编程语言的最新版本会在版本下拉中自动选择。

我们必须选择一个数据中心所在的地区。

在输入上述字段的数值后,我们必须点击Create + Review 按钮。

然后按下Create Button 按钮。

Step 2a

第3步

一旦功能应用程序被部署,它将出现如下图所示。

Step 3a

第4步

如果我们复制Function App的URL并将其粘贴到浏览器标签中,将显示我们的Function App已经启动并运行。

我们的Function App现在已经可用了。在这个Function App中,我们必须开发我们的第一个Azure Function。

使用Azure Portal创建Azure Function

第1步

导航到Function App区域,从left-side menu 面板中选择Function 选择。

Step 1b

第2步

要创建我们的第一个Azure函数,我们需要遵循以下步骤。

  • 选择Add Button 选项。
  • Development Environment 的下拉菜单中选择Develop in Portal
  • Template List ,选择HTTP Trigger Template
  • 然后提供正确的函数名称。
  • 从下拉菜单中选择Add Button

Step 2b

第3步

在函数部署完毕后,选择code + Test 。在Azure门户内,它将给我们一个Azure函数的测试环境。

首先显示的是该函数的默认代码模板,即一个基于C#的函数。如果我们想更新代码,这是我们可以做的。

要运行结果,从下拉菜单中选择Test/Run

如何使用Visual Studio 2019制作一个Azure函数

首先,打开Microsoft Visual Studio 2019,然后从下拉菜单中选择Create New Project

New Project Template List 中选择Azure Functions Project Template ,然后点击next 按钮。

Step 2c

现在键入项目名称,然后按Create 按钮。

从下拉菜单中选择Azure Function Templates 。然后从下拉菜单中选择Create Button

Step 4c

现在Create your solutions ,然后按F5 。它将运行该项目,结果如下。

Step 5c

现在复制突出显示的URL,并将其粘贴到你的浏览器中,检查输出结果。

http://localhost:7071/api/Function1

为了传递名称参数,请对URL做如下修改。

http://localhost:7071/api/Function1?name=Debasis%20Saha

输出应该改变。

结论

本教程讨论了Azure Functions 中所涉及的内容,并将Azure Function 与网络作业进行了比较。这个分步指南将使你能够在Azure Portal和Visual Studio 2019中处理Azure Functions。