Функции Azure V2 Http Error Code содержимое не возвращается при публикации функции - PullRequest
0 голосов
/ 02 июля 2018

Я работаю с функциями Azure 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.");
        }
    }
}

Запускать локально и выдавать сообщение или получить от почтальона. Он вернет код состояния 404 Not Found и отобразит тело ответа «Образец содержимого».

Опубликуйте функцию в Azure и вызовите ее там - либо почтальоном, либо используя функцию тестирования или запуска портала Azure. 404 по-прежнему возвращается, но пользовательский вывод заменяется общим сообщением: «Ресурс, который вы ищете, удален, его имя изменено или временно недоступно».

То же поведение для других ... ObjectResult кодов состояния, таких как BadRequestObjectResult и т. Д.

Как я могу опубликовать или настроить мою функцию так, чтобы она возвращала содержимое пользовательской ошибки?

1 Ответ

0 голосов
/ 02 июля 2018

Это регрессия в последней версии Functions v2 (2.0.11888). Пожалуйста, смотрите https://github.com/Azure/app-service-announcements/issues/117 для более подробной информации и обходного пути.

В целом, пожалуйста, следуйте этому репо, чтобы убедиться, что вы получаете все уведомления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...