Новая развернутая функция azure возвращает ошибку 404 Not Found

#azure #azure-devops #azure-functions #azure-function-app

#azure #azure-devops #azure-функции #azure-функция-приложение

Вопрос:

Привет, я развернул новую функцию Azure с помощью Azure dev ops CI / CD. Функциональное приложение было успешно развернуто, и когда я перехожу к основному URL-адресу, в нем говорится, что ваше функциональное приложение запущено. Я попытался протестировать конечные точки («/ save») с помощью портала Azure, и результат 404 Not found. Те же результаты, когда я использую POST man. Любая помощь будет оценена?

введите описание изображения здесь

  2020-11-21T11:30:45.769 [Error] The following 2 functions are in error:
 Get: The function type name 'DocumentContextFunction.Functions.GetDocument' 
 is invalid.
 Save: The function type name 
 'DocumentContextFunction.Functions.SaveDocument' is invalid.
 

Комментарии:

1. что такое конечная точка? вы пытались проверять журналы с помощью kudu?

2. конечная точка: dev-document-function.azurewebsites.net/api/Save Я только проверил журналы в application insight, там ничего нет. Как я могу проверить журналы в Kudu?

3. gatevnotes.com/…

4. спасибо @Sajeetharan, я получил две ошибки: Get: имя типа функции ‘DocumentContextFunction. Функции. getDocument’ недопустим. Сохранить: имя типа функции ‘DocumentContextFunction. Функции. ‘saveDocument’ недопустим.

Ответ №1:

Я исправил это, обновив значение «FUNCTIONS_EXTENSION_VERSION» с 1 до 3. По какой-то причине каждый раз, когда я развертываю с использованием Azure CI / CD, его значение устанавливается равным 1, поэтому мне приходится вручную изменять его на 3.

Комментарии:

1. Спасибо, что поделились. Пожалуйста, отметьте свой ответ как ответ , на случай, если кто-то еще столкнется с таким же сообщением об ошибке

Ответ №2:

В моем случае у меня была функция, созданная на портале. Затем я опубликовал функцию через Visual Studio. После публикации созданной функции портала было 404 not found, и я даже не смог удалить функцию с портала.

Точно такой же код в новой функции работал, как ожидалось.

Это не интуитивно понятно, и на портале не было никаких указаний на то, что функции, созданные предыдущим порталом, будут ломаться.

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

Ответ №3:

Я столкнулся с этой ошибкой, когда моя сборка была нацелена на win-x64, тогда как функциональная платформа Azure была настроена как 32-разрядная.

Комментарии:

1. спасибо, что поделились. для меня было то же самое, я использовал Visual Studio Publish для развертывания, и это было нацелено на 32 бита, а мое функциональное приложение в azure также было 32 бита. Когда я настраивал Teamcity с помощью octopus, я не понимал, что TC нацелен на 64 бита, и я не мог понять, что было не так, пока не нашел ваш пост 🙂 Изменено приложение функции в azure на 64 бита

Ответ №4:

Вопрос автора помог мне понять, откуда возникла проблема. В моем случае речь шла не о том, что конвейер CI / CD делал что-то смешное.

Это был мой код IaC, который неправильно настраивал приложение функции. Он выбирает версию ~1 по умолчанию, но мне пришлось установить для нее значение ~3 .

введите описание изображения здесь