Azure Functions 用于在无服务器环境中执行代码,无需先创建 VM 或发布 Web 应用程序。
需要使用VS2017及以上的版本。
在“新建项目”对话框中,依次选择“已安装” > “Visual C#” > “云” > “Azure Functions”。 输入项目的名称,并选择“确定”。 函数应用名称必须可以充当 C# 命名空间,因此请勿使用下划线、连字符或任何其他的非字母数字字符。
创建完成之后会生成一个c#类库项目,包含:
host.json - 存储着在本地或者在 Azure 中运行时会影响项目中的所有函数的配置设置。
local.settings.json - 存储着在本地运行时使用的应用设置和连接字符串。 此文件包含机密且不会发布到 Azure 中的函数应用中。 必须向函数应用添加应用设置。
生成项目时,在生成输出目录中生成如下所示的文件夹结构:
<framework.version> | - bin | - MyFirstFunction | | - function.json | - MySecondFunction | | - function.json | - host.json
检查新添加的类。 将会看到一个静态 Run 方法,它已使用 FunctionName 属性设置了属性。 该属性指示该方法是函数的入口点。
例如,以下 C# 类表示一个基本的队列存储触发的函数:
using System;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
namespace FunctionApp1
{
public static class Function1
{
[FunctionName("QueueTriggerCSharp")]
public static void Run([QueueTrigger("myqueue-items", Connection = "QueueStorage")]string myQueueItem, ILogger log)
{
log.LogInformation($"C# Queue trigger function processed: {myQueueItem}");
}
}
}
已向提供给入口点方法的每个绑定参数提供了特定于绑定的属性。 该属性采用绑定信息作为参数。 在上例中,第一个参数具应用了 QueueTrigger 属性,表示触发了队列的函数。 队列名称和连接字符串设置名称作为参数传递到“QueueTrigger”属性。
如何将项目发布到Azure:
1、在“解决方案资源管理器” 中,右键单击该项目并选择“发布”。
2、依次选择“Azure Function App”、“新建”、“发布”。
启用“从 Zip 运行”后,Azure 中的函数应用将进入只读模式,并且会直接从部署包运行。
在“创建应用服务”对话框中,使用在图片下方的表中指定的“托管”设置:
单击“创建”以使用这些设置在 Azure 中创建函数应用和相关资源,并部署函数项目代码。
完成部署后,请记下“站点 URL”值,这是函数应用在 Azure 中的地址。
后续可以通过该地址进行对api的访问。