发布函数时未返回 Azure Functions V2 Http 错误代码内容
Posted
技术标签:
【中文标题】发布函数时未返回 Azure Functions V2 Http 错误代码内容【英文标题】:Azure Functions V2 Http Error Code content not returned when function published 【发布时间】:2018-12-11 00:15:12 【问题描述】:我正在使用 Azure Functions V2,在 Visual Studio 2017 中开发。我想为我的函数返回的 HTTP 错误代码返回自定义内容。当我在本地测试时,这很好用。但是当我将函数发布到 Azure 时,不再返回自定义内容。
这很容易重现。这是一个函数(摘自 VS 2017 Azure Function 新项目模板):
using System;
using System.IO;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs.Host;
using Newtonsoft.Json;
namespace FunctionApp1
public static class Function1
[FunctionName("StatusCodeTest")]
public static IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequest req, TraceWriter log)
return new NotFoundObjectResult("Sample content text.");
在本地运行并从 Postman 发出 Post 或 Get。它将返回 404 Not Found 状态代码并显示“示例内容文本”的响应正文。
将函数发布到 Azure 并在那里调用它——通过 Postman 或使用 Azure 门户的测试或运行功能。 404 仍会返回,但自定义输出会替换为通用消息“您要查找的资源已被删除、名称已更改或暂时不可用。”
其他 ...ObjectResult 状态码的行为相同,例如 BadRequestObjectResult 等。
如何发布或配置我的函数以使其返回自定义错误状态内容?
【问题讨论】:
【参考方案1】:这是最新的 Functions v2 运行时 (2.0.11888) 中的回归。请参阅https://github.com/Azure/app-service-announcements/issues/117 了解更多详细信息和解决方法。
更一般地说,请关注此 repo 以确保您收到所有通知。
【讨论】:
感谢您的快速回复。我没有遇到过那个回购或帖子。将跟随它在这里。与微软的许多事情一样,有大量的信息、文档和资源可供筛选。我真的很享受无服务器功能开发体验。我们正在使用 Azure Funcitons 构建一个生产应用程序,并且进展顺利。绝对是靠技术和易用性来卖的。 有没有关于 azure functions v2 的 eta ? 没有确切的预计到达时间,但现在还不算太远。关注该回购以保持最新以上是关于发布函数时未返回 Azure Functions V2 Http 错误代码内容的主要内容,如果未能解决你的问题,请参考以下文章
Azure Functions HTTP 触发器:如何将异常从 python 工作日志返回给 API 调用者