欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用VS Code将Azure Functions连接到存储

程序员文章站 2023-12-30 13:26:16
...

配置本地环境

下载函数应用设置

下载存储在Azure中的应用设置中的存储账户连接字符串到local.settings.json文件中,使在本地运行函数时连接到该存储账户,并将消息写入该存储账户的队列中。

  • 同时按下Shift+Command+P,打开命令面板,键入 Azure Functions:Download Remote Settings…。
  • 选择在上一个示例中创建的函数应用,选择"全是"覆盖现有本地设置。
  • 属性值AzureWebJobsStorage即为用于访问该存储账户连接字符串值的键。

注册绑定扩展

在终端中输入以下命令并运行,将存储扩展包添加到项目中。

dotnet add package Microsoft.Azure.WebJobs.Extensions.Storage

现在,你可以将存储输出绑定添加到项目。

添加输出绑定

在C#类库项目中,绑定被定义为函数方法上的绑定属性。然后,基于这些属性自动生成Functions所需的function.json文件。
打开HttpExamples.cs项目文件,并将以下参数添加到Run方法定义中:

[Queue("outqueue"),StorageAccount("AzureWebJobsStorage")] ICollector<string> msg,

msg 参数为ICollector类型,表示函数完成时写入输出绑定的消息集合。在这种情况下,输出是名为outqueue存储队列。存储账户的连接字符串由StorageAccountAttribute设置。此属性指示包含存储账户连接字符串的设置,可以在类、方法或参数级别应用。在当前情况下,可以省略StorageAccountAttribute,因为你已使用默认存储账户。
Run方法定义如下所示:

        public static async Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
            [Queue("outqueue"), StorageAccount("AzureWebJobsStorage")] ICollector<string> msg, 
            ILogger log)

使用输出绑定时,无需使用Azure存储SDK代码进行身份验证、获取队列引用或写入数据。Functions运行时和队列输出绑定将为你执行这些任务。
使用msg输出绑定对象来创建队列消息,如下所示:

if (!string.IsNullOrEmpty(name))
{
    // Add a message to the output collection.
    msg.Add(string.Format("Name passed to the function: {0}", name));
}

在本地运行函数

成功运行后,在浏览器中打开Uri,如http://localhost:7071/api/HttpExample?name=test,会在浏览爱窗口中显示内容。

检查输出队列

  1. 在VS Code中,打开命令面板,搜索并运行命令 Azure Storage:Open in Storage Explorer,选择你的存储账户名称。随即将在Azure存储资源管理器中打开你的存储账户。
  2. 展开"队列"节点,然后选择名为outqueue的队列。
    此队列包含在运行HTTP触发的函数时队列输出绑定创建的消息。

重新部署并验证更新的应用

  1. 在VS Code中打开命令面板,搜索并运行命令 Azure Functions: Deploy to function app…。
  2. 选择你之前创建的函数应用。
  3. 部署完成后,可以使用curl或浏览器测试重新部署的函数。与前面一样,将查询字符串 ?name= 追加到url,如: https://testcreatefunctionbyvscode.azurewebsites.net/api/HttpExample?code=1234567890?name=test

内容摘自官方文档

上一篇:

下一篇: