首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Azure函数.net6 (函数v4)获取Bindingdata

从Azure函数.net6 (函数v4)获取Bindingdata
EN

Stack Overflow用户
提问于 2022-01-20 13:13:59
回答 1查看 648关注 0票数 0

在functionContext.BindingContext.BindingData.TryGetValue("Metadata",(function v3)中,我们可以通过调用FunctionContext out var meta从FunctionContext获取元数据;但是dotnet 6 (v4)似乎没有此选项。

Azure函数v3 (.net5)

有人能通过为新的dotnet 6 (v4)函数提供正确的实现来帮助我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-24 11:57:01

要将.net6与函数V4结合使用,我们需要VS 2022环境或VS代码。

我尝试过使用一个简单的bob触发器天蓝色函数来运行.net 5,它可以很好地获取元数据。

代码语言:javascript
复制
using System;
using System.IO;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;

namespace testfuncapp
{
    public static class Function1
    {
        [Function("Function1")]
        public static void Run([BlobTrigger("test/{name}", Connection = "AzureWebJobsStorage")] string myBlob, string name,
            FunctionContext context)
        {
            var logger = context.GetLogger("Function1");
            logger.LogInformation($"C# Blob trigger function Processed blob\n Name: {name} \n Data: {myBlob}");
        }
    }
}

输出:-

与我们在.net 6环境中尝试过的代码相同,它的工作原理也很好。

要做到这一点,打开VS代码并使用.csproj 6和函数运行时版本更新.net文件到V4

注意:我们只需要在最后安装一个运行时版本。

更新.csproj文件

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <AzureFunctionsVersion>v4</AzureFunctionsVersion>
    <OutputType>Exe</OutputType>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Storage" Version="4.0.4" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.2.0" OutputItemType="Analyzer" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.5.2" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

并将settings.json文件更新为.net 6,函数运行时更新为V4,然后保存它。

然后使用下面的命令:

代码语言:javascript
复制
1- dotnet restore
2- dotnet build
3- func host start

输出:-

欲了解更多信息,请参考以下链接:

博客:从Asp.Net Core5.0迁移到6.0

问答小姐:将Auzre函数运行时版本从3.x迁移到4.x,在VS 2019中不起作用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70786908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档