使用VS Code将Azure Functions连接到存储(队列的输出绑定)

配置本地环境

下载函数应用设置

下载存储在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

内容摘自官方文档

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值