HTTP-триггер функции Azure выдает 500 внутренних ошибок сервера - PullRequest
0 голосов
/ 16 октября 2018

У меня есть http-триггер с выходной привязкой CosmosDB (sql api), которая выдает 500 внутренних ошибок сервера, когда я выполняю вызов POST для развернутой версии.

 public static class Function1
{
    [FunctionName("Function1")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] Request req,

  ILogger log, [CosmosDB(
            databaseName: "haveThatDB",
            collectionName: "Requests",
            ConnectionStringSetting = "CosmosDBConnection",CreateIfNotExists =true)] IAsyncCollector<Request> requestOutput
       )
    {
        log.LogInformation("C# HTTP trigger function processed a request.");
        await requestOutput.AddAsync(req);



        return req != null
            ? (ActionResult)new OkObjectResult($"Hello, {req.ItemRequested}")
            : new BadRequestObjectResult("Please pass a name on the query string or in the request body");
    }
}

тот же код работает локально.

В KUDU и на портале журналы не создаются для неудачных запросов.если я удаляю привязку cosmosDB, она работает локально (я вижу, как создается документ), а также в развернутом URL, и также генерируются журналы успеха.

Однако, как только я смог увидеть какое-то сообщение об ошибке типа «Ошибка»Разбор логического значения. Path '', строка 1, позиция 1. "но после этого я так и не смог увидеть эту проблему в логах.потому что нет никаких журналов в случае 500 внутренней ошибки сервера.Активация понимания приложения также не показывает ни одного неудачного 500-го попадания.

enter image description here

1 Ответ

0 голосов
/ 17 октября 2018

Без дополнительной информации, я полагаю, вы можете забыть добавить CosmosDBConnection в настройках приложения на портале, потому что ваш код работает на моей стороне как локально, так и онлайн.Настройки в local.settings.json не вставляются в портал, так как они используются для локального разработчика.

...