Когда я запускаю функцию Azure HTTP Trigger, я получаю 401 несанкционированный - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь запустить функцию Azure HTTP Trigger Azure, и я получаю 401 Unauthorized. Раньше у меня все работало нормально.

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

Я вижу следующие журналы в потоковой службе.

2018-07-02T07: 09: 41 Добро пожаловать, теперь вы подключены к службе потоковой передачи журналов.

2018-07-02T07: 09: 48.893 [Info] Выполнение HTTP-запроса: { "requestId": "53e54698-c46b-4cb6-9ed0-d042eaf9ec71", "method": "POST", "uri": "/ api / Source / MPAA / false" }

2018-07-02T07: 09: 48.893 [Info] Выполнен HTTP-запрос: { "requestId": "53e54698-c46b-4cb6-9ed0-d042eaf9ec71", "method": "POST", "uri": "/ api / Source / MPAA / false", "authorizationLevel": "Anonymous", "status": "Unauthorized" }

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Вот как я решил проблему, основываясь на причине, правильно предоставленной Ником выше:

В исходном коде функции:

[FunctionName("YourFunctionName")]
public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
    ILogger log){

Что нужно было изменить AuthorizationLevel.Function на AuthorizationLevel.Anonymous. Это работает в том случае, если вы не хотите добавлять дополнительные шаги к каждой из ваших функций в графическом интерфейсе портала Azure просто для того, чтобы они работали.

0 голосов
/ 30 декабря 2018

Если вы управляете своим кодом через портал Azure, просто перейдите к «Интеграция» и измените раскрывающийся список «Уровень авторизации» на «Аноним». enter image description here

Если вы управляете своим кодом с интеграцией системы контроля версий (например, с помощью git), добавьте это к своему function.json:

"authLevel": "anonymous"

Полный фрагмент function.json:

{
  "bindings": [
    {
      "name": "req",
      "type": "httpTrigger",
      "direction": "in",
      "methods": [ "post" ],
      "route": "Source/MPAA",
      "authLevel": "anonymous"
    },
    {
      "type": "http",
      "name": "res",
      "direction": "out"
    }
  ],
  "disabled": false
}

Примечание. Выше приведен только пример, вам, возможно, придется настроить маршрут. Примечание: / api является префиксом по умолчанию и может быть изменен в файле host.json.

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