Я создал API в Azure функциях, использующих базу данных Azure Sql. У меня есть этот маршрут:
[FunctionName("GetAllClassesForTeacher")]
public IActionResult GetAllClassesForTeacher(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequestMessage req,
ILogger log)
{
var headers = req.Headers;
if (headers.TryGetValues("TeacherId", out var Teacher))
{
int TeacherId = Convert.ToInt32(Teacher.First());
var result = _classDistributionServices.GetAllClassesForTeacher(TeacherId);
if (result != null)
{
return new OkObjectResult(result);
}
return new NotFoundResult();
}
return new NotFoundResult();
}
При локальном тестировании он работает каждый раз. Но после публикации на портале Azure я получаю от почтальона:
{
"statusCode": 500,
"message": "Internal server error",
"activityId": "f98c4112-0c31-4841-99a5-c79dffa41d86"
То, что я пытался / делал до сих пор:
- , чтобы взять IP у Azure Функционируйте и регистрируйте его в брандмауэрах и виртуальных сетях с сервера Azure Sql.
- Я убедился, что ConnectionString из local.settings. json загружен на портал.
- Я объявил этот маршрут в управлении API.
Но ошибка все еще сохраняется. У меня такое ощущение, что все еще из-за брандмауэра базы данных, даже если я зарегистрировал правильный IP-адрес?
Не могли бы вы мне помочь?