如何在C#中使用Azure函数

Azure Functions是Microsoft Azure云中无服务器计算产品。 本质上,您甚至不需要虚拟机(VM)即可运行Azure功能。 Azure Functions只是平台即服务(PaaS)的一种实现,它是基于事件驱动的编程模型的。 本文介绍了Azure函数,它们为什么有用以及我们如何使用它们。

由于您无需管理服务器,因此Azure Functions可以自动扩展,您只需为代码运行时间付费。 您可以将Azure功能用于实时事件处理或计划的数据处理作业,例如计划的数据备份或数据清理。 您甚至可以将Azure Functions用作移动应用程序的无服务器后端。

[入门: Azure云迁移指南 •教程: Google Cloud入门 | 通过InfoWorld的云计算新闻通讯了解云计算的最新发展。 ]

快速浏览一下Azure函数的一些引人注目的功能:

  • 灵活的代码部署(例如,通过Azure门户或GitHub)
  • 支持多种语言(C#,F#,Java,Node.js或PHP)
  • 通过NuGet或NPM支持外部依赖关系
  • 轻松与其他Azure服务集成

Azure函数入门

在本节中,我们将学习如何使用Visual Studio 2017构建Azure函数。要生成,测试和部署Azure函数,您需要用于Visual Studio 2017的Azure函数工具。请注意,您应确保Visual Studio具有所有最新版本。已应用更新,并且您正在使用最新版本的Azure Functions工具。 Azure Functions工具是Visual Studio 2017 15.5版及更高版本的Azure开发工作负载的一部分。

假设您正在系统中运行Visual Studio 2017 15.3或更高版本,请按照下面概述的步骤在Visual Studio 2017中创建Azure Functions项目。

  1. 打开Visual Studio IDE
  2. 单击文件>新建>项目(或者,您可以同时按Ctrl-Shift-N键以在Visual Studio IDE中打开“新建项目”窗口)
  3. 选择Visual C#
  4. 点击云
  5. 选择Azure功能
  6. 为您的项目指定一个名称
  7. 点击确定
  8. 在下一个窗口中,从下拉控件中选择“ Azure Functions v1(.NET Framework)”
  9. 选择HTTP触发器,然后选择“ Storage Emulator”作为存储帐户
  10. 选择“匿名”作为访问权限
  11. 点击确定

在C#中构建一个简单的Azure函数

这是典型的Azure函数的外观。 请注意static关键字的用法。

[FunctionName(“WriteYourFunctionNameHere”)]
        public static void Run([QueueTrigger(“WriteYourQueueNameHere”)] string item, TraceWriter traceWriter)
        {
            //Write your code here.
        }

请注意Run方法上方[FunctionName]属性的用法。 这是我们的Azure函数-一种静态方法,可作为静态类的一部分使用。 我们稍后会再讨论。

现在,这是一个自定义Azure函数的示例-一个简单的函数。

[FunctionName(“DemoFunctions”)]
        public static async Task<HttpResponseMessage> Run
            ([HttpTrigger(AuthorizationLevel.Function)]HttpRequestMessage request, TraceWriter traceWriter)
        {
            Dictionary<string, string> dictionary = new Dictionary<string, string>();
            dictionary.Add(“A001”, “Joydip Kanjilal”);
            dictionary.Add(“A002”, “Steve Jones”);
            string key = request.GetQueryNameValuePairs().FirstOrDefault(k => string.Compare(k.Key, “Key”, true) == 0).Value;
            return key == null
                ? request.CreateResponse(HttpStatusCode.BadRequest, “Invalid key specified.”)
                : request.CreateResponse(HttpStatusCode.OK, “Hello “ + dictionary[key]);
        }

在上面的示例中,创建了一个字符串对象字典,该字典将作者代码和名称存储为键值对。 如果在查询字符串中传递的键与字典中的任何键匹配,则返回作者名称。 如果字典中不存在查询字符串中指定的键,则该函数返回HttpStatusCode 400,即BadRequest。

在本地测试Azure功能

现在您的Azure Function已经准备就绪,下一步就是运行它。 您可以使用Azure Functions核心工具在系统中本地执行Azure Functions。 您只需按F5键即可执行和测试您的Azure函数。 请注意,如果未安装Azure Functions Core Tools,则在尝试运行功能时会提示您安装它。 仅在提示时接受下载和安装工具的请求。

在Azure Functions运行时输出窗口中,复制提供的URL,将其粘贴到浏览器的地址栏中,然后按Enter。 您应该将键指定为查询字符串,如下所示:

http://localhost:7071/api/DemoFunctions?Key=A001

这就是您要做的全部。 如果字典中提供了指定的键,则相应的名称将显示在Web浏览器中。

Azure函数是编写小型和简单代码段的好方法,这些代码段可以在发生指定事件时执行。 可以通过HTTP请求(如此处所示)或Webhook或Azure Cosmos DB,Blob存储,移动应用程序和许多其他Azure服务中的事件来调用触发器。 您甚至可以从OneDrive,Excel或Outlook触发Azure功能。 如果需要,您可以将由此类功能处理的数据存储在Azure存储服务,文档数据库甚至SQL数据库中。

From: https://www.infoworld.com/article/3281868/how-to-work-with-azure-functions-in-c.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值