当前位置: 首页 > 知识库问答 >
问题:

如何解决Azure基本功能应用程序错误

相诚
2023-03-14

Microsoft.Azure.WebJobs.Host:索引方法“Fun Ction1.Run”时出错。Microsoft.Azure.WebJobs.Host:无法将参数“log”绑定到类型TraceWriter。请确保绑定支持参数类型。如果您正在使用绑定扩展(例如ServiceBus、Timers等),请确保您在启动代码(例如config)中调用了扩展的注册方法

using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;

namespace FunctionAppLatest
{
    public static class Function1
    {
        [FunctionName("Function1")]
        public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            // parse query parameter
            string name = req.GetQueryNameValuePairs()
                .FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
                .Value;

            if (name == null)
            {
                // Get request body
                dynamic data = await req.Content.ReadAsAsync<object>();
                name = data?.name;
            }

            return name == null
                ? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
                : req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
        }
    }
}

共有1个答案

丁俊智
2023-03-14

Azure中的函数2.0不再使用tracewriter

请将其替换为ilogger log

您需要使用log.info而不是log.loginformation(“C#HTTP触发器函数处理了一个请求。”);

 类似资料:
  • 因此,我一直在尝试生成一个小功能应用程序(JS)来响应发送到Azure IoT中心的消息。输出是一个简单的控制台日志。但是,我无法将IoT集线器的事件集线器兼容endpoint加载为触发器(唯一可用的选项是创建新的事件集线器)。我该如何进行?设备发送到Azure IoT Hub的代码正在运行,我可以通过设备浏览器工具查看消息。

  • 每当我在Azure中创建新的Azure功能应用程序时,我都会选择一个存储帐户供其使用。 创建应用程序时,如何查看/更改存储帐户? 我曾尝试在门户中四处查看,但无法看到在哪里可以配置此功能。

  • 此页面描述如何使用清单将应用程序应用程序角色添加到Azure Active Directory中的应用程序。 页面中的代码示例: 当从使用授予类型进行身份验证的应用程序调用Azure函数时,如何将其强制为属于应用程序角色? 我谷歌了一下,但找不到解释如何为Azure Functions进行此授权的明确留档。 我的测试功能应用程序 我创建了一个简单的“你好” 首先,我使用

  • 我对将CPU密集型web应用部署到Azure应用程序服务实例很感兴趣。我找不到有关Azure应用程序服务的CPU使用率和/或限制的任何详细信息。我担心的是,如果不了解我的应用程序的CPU规格/限制,我就无法规划如何准确规划基于云的物理基础设施(使用Azure应用程序服务)。 我的应用程序将使用OpenCV计算机视觉库对数百/数千张高质量图像进行重图像处理、人脸检测和人脸识别。这自然是一个CPU密集

  • 我试图创建一个“Azure应用函数”,即监听服务总线队列。我使用快速启动方法,所以迄今为止唯一的编写是插入连接字符串 我已经创建了一个服务总线实例、一个队列和一个策略权限(listen)。我复制了那个连接字符串并删除了它的最后一部分,所以我的连接字符串是connection 我收到错误信息: 我见过几个类似的问题,但不是针对应用程序功能,答案对我来说毫无意义。除了模板中的日志记录之外,没有其他代码

  • 场景:我有一个使用B2C身份验证的Blazor wasm应用程序,需要调用HTTP触发的Azure函数。保护Azure函数的最佳方法是什么,这样只有Blazor应用程序和/或经过身份验证的用户才能调用该函数? 到目前为止,我知道如何用B2C保护Blazor应用程序(显然很傻!)我还能够为Azure函数添加B2C身份验证,并通过验证jwt令牌来保护调用。但我不清楚这两部分该如何组合在一起。