Я работаю над финальным проектом в своей школе, и мне предстоит открыть много нового.Мы создадим API, который будет использовать Google Cloud API и развертывание в Azure.
Я нигде не нашел, просто гуглю это, похоже, что все просто используют тот или иной сервис, но не вместе.
У меня есть базовая программа .net Core API с начальным контроллером ValuesController.Получив ServiceKey от Google Cloud, я использовал один из их основного учебного кода для вызова API Vision с изображением.Моя проблема в том, что все работает на локальном хосте, но после развертывания сайта в Azure и вызова этого контроллера в браузере сайт Azure всегда выдает мне 500 внутренних ошибок сервера:
Не удалось загрузить ресурс: сервер ответилсо статусом 500 (Внутренняя ошибка сервера).
Я попытался настроить отладку для Azure, но безуспешно.
`[Route("api/sleepy")]
[ApiController]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
List<String> da = new List<String>();
var client = ImageAnnotatorClient.Create();
var image = Image.FromFile("shit.png");
var response = client.DetectLabels(image);
foreach (var annotation in response)
{
if (annotation.Description != null)
{
Console.WriteLine(annotation.Description);
da.Add(annotation.Description);
}
}
foreach (var stuff in da)
{
Console.WriteLine(stuff);
}
System.Threading.Thread.Sleep(5000);
return Ok(da);
} `
Когда я просто возвращаю строку или что-то ещекроме того, из моего GET в ValueController, который работает на сайте Azure, я не понимаю этой моей проблемы, localhost получает нужную информацию, но чего-то не хватает, так как он не работает на развернутом сайте Azure.
Сайт, с которым я пытался это сделать: https://webapplication220190211113216.azurewebsites.net/api/sleepy. Это временно, чтобы проверить этоImage shit.png - это изображение собаки, расположенное в корне проекта.
Что мне здесь не хватает?Я был бы очень признателен, если бы кто-то мог по крайней мере направить меня в правильном направлении, я не нашел ответов на Google.:)
РЕДАКТИРОВАТЬ: мне удалось найти обходной путь с помощью регулярных запросов Http, было бы все еще интересно узнать причины, по которым использование клиентских библиотек приводит к ошибке 500 в Azure.:)