Azure Functions 简介

Azure Functions 是用于在云中轻松运行小段代码或“函数”的一个解决方案。 用户可以只编写解决现有问题所需的代码,而无需担心要运行该代码的整个应用程序或基础结构。 Functions 可使开发更有效率,并可以使用自己所选的开发语言,例如 C#、F#、Node.js、Java 或 PHP。 只需为代码运行的时间付费,并可信任 Azure 会根据需要进行调整。 使用 Azure Functions 可以在 Azure 上开发无服务器应用程序。

本主题提供有关 Azure Functions 的高级概述。 如果要立即投入和开始使用 Functions,请从创建第一个 Azure 函数开始。 如果要查找有关 Functions 的更多技术信息,请参阅 开发人员参考

功能

下面是 Functions 的一些主要功能:

  • 语言选择 - 使用所选的 C#、F# 或 Javascript 编写函数。 有关其他选项,请参阅支持的语言
  • 按使用付费定价模型 - 仅为运行代码所用的时间付费。 请参阅定价部分中的使用托管计划选项。
  • 引入自己的依赖项 - Functions 支持 NuGet 和 NPM,因此用户可以使用自己的常用库。
  • 集成安全性 - 使用 OAuth 提供程序(如 Azure Active Directory 和 Microsoft 帐户)保护 HTTP 触发的函数。
  • 简化集成 - 轻松利用 Azure 服务和软件即服务 (SaaS) 产品/服务。 有关一些示例,请参阅集成部分
  • 灵活开发 - 直接在门户中编写函数代码,或者通过 GitHubVisual Studio Team Services 和其他受支持的开发工具设置持续集成和部署代码。
  • 开放源代码 - Functions 运行时是一个开放源代码, 可在 GitHub 上找到

使用 Functions 可以做什么?

Functions 是一个理想的解决方案,用于处理数据、集成系统、使用物联网 (IoT) 以及生成简单的 API 和微服务。 对于以下任务请考虑使用 Functions:例如,图像或订单处理、文件维护,或者要按计划运行的任何任务。

Functions 提供模板,以帮助用户从主要方案开始,包括以下模板:

  • HTTPTrigger - 使用 HTTP 请求触发执行代码。 有关示例,请参阅创建第一个函数
  • TimerTrigger - 按预定义的计划执行清除或其他批处理任务。 有关示例,请参阅创建由计时器触发的函数
  • GitHub webhook - 响应 GitHub 存储库中发生的事件。 有关示例,请参阅创建由 GitHub webhook 触发的函数
  • Generic webhook - 处理来自支持 webhook 的任何服务的 webhook HTTP 请求。 有关示例,请参阅创建由通用 webhook 触发的函数
  • CosmosDBTrigger - 在 NoSQL 数据库中以集合形式添加或更新 Azure Cosmos DB 文档时,对这些文档进行处理。 有关示例,请参阅创建由 Azure Cosmos DB 触发的函数
  • BlobTrigger - Azure 存储 blob 添加到容器时,处理这些 blob。 可以使用此函数调整图像大小。 有关详细信息,请参阅 Blob 存储帐户绑定
  • QueueTrigger - 当消息到达 Azure 存储队列时,响应这些消息。 有关示例,请参阅创建由 Azure 队列存储触发的函数
  • EventHubTrigger - 响应传送到 Azure 事件中心的事件。 在应用程序检测、用户体验或工作流处理以及物联网 (IoT) 方案中特别有用。 有关详细信息,请参阅事件中心绑定
  • ServiceBusQueueTrigger - 通过侦听消息队列将代码连接到其他 Azure 服务或本地服务。 有关详细信息,请参阅服务总线绑定
  • ServiceBusTopicTrigger - 通过订阅主题将代码连接到其他 Azure 服务或本地服务。 有关详细信息,请参阅服务总线绑定

Azure Functions 支持 触发器(用于启动代码执行)和绑定(用于简化针对输入和输出数据进行的编码)。 有关 Azure Functions 提供的触发器和绑定的详细说明,请参阅 Azure Functions 触发器和绑定开发人员参考

集成

Azure Functions 可与各种 Azure 和第三方服务集成。 这些服务可以触发函数开始执行,或者可用作代码的输入和输出。 Azure Functions 支持以下服务集成:

  • Azure Cosmos DB
  • Azure 事件中心
  • Azure 事件网格
  • Azure 移动应用(表)
  • Azure 通知中心
  • Azure 服务总线(队列和主题)
  • Azure 存储(blob、队列和表)
  • GitHub (webhook)
  • 本地(使用服务总线)
  • Twilio(短信)

Functions 的费用是多少?

Azure Functions 有两种定价计划。 请选择最适合自己的那种:

  • 使用计划 - 用户的函数运行时,Azure 提供所有所需的计算资源。 用户不必担心资源管理,只需为自己的代码运行的时间付费。
  • 应用服务计划 - 运行函数的方式就像运行 web 应用、移动应用和 API 应用一样。 如果已对其他应用程序使用应用服务,可以按相同的计划运行自己的函数,而不用另外付费。

有关托管计划的详细信息,请参阅 Azure Functions 托管计划比较。 完整的定价详细信息可在 Functions 定价页中找到。

后续步骤