Восстановление функций HTTPS с помощью .NET 8 в построителе API данных для баз данных Azure

Построитель API данных (DAB) выполняется локально для разработчиков с помощью интерфейса командной строки (CLI). DAB настраивает и запускает конечные точки HTTP и HTTPS без дополнительной настройки. Однако в некоторых сценариях .NET 8 DAB может неправильно запустить конечную точку HTTPS. В этой статье описаны действия по настройке конечной точки HTTPS.

Предварительные требования

Симптомы

Когда разработчик запускает DAB в локальной среде, некоторые пользователи видят выходные данные консоли, аналогичные следующему:

...
info: Azure.DataApiBuilder.Service.Startup[0]
      Successfully completed runtime initialization.
info: Microsoft.Hosting.Lifetime[14]
      Now listening on http://[::]:8080
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
...

Примечание.

http://[::]:8080 Результатом является конечная точка, но это недопустимый URL-адрес.

Причина

Для разработчиков, работающих под управлением .NET 8 или более поздней версии, конечная точка HTTPS требует ASPNETCORE_URLS правильной настройки переменной среды.

Решение

Чтобы правильно настроить локальную среду, используйте один из следующих методов, чтобы задать ASPNETCORE_URLS переменную среды.

Решение 1. Установка переменной среды с помощью ENV-файла

Файл .env — это простой текстовый файл, в который хранятся переменные среды в парах "ключ-значение". Чтобы задать ASPNETCORE_URLS переменную среды, введите файл рядом .env с dab-config.json файлом с содержимым, аналогичным следующему примеру:

SQL_CONNECTION_STRING={your-connection-string}
ASPNETCORE_URLS=http://localhost:5000;https://localhost:5001

Решение 2. Установка переменной среды в операционной системе (необязательно)

ASPNETCORE_URLS Задайте переменную http://localhost:5000;https://localhost:5001 среды в Windows.

[Environment]::SetEnvironmentVariable("ASPNETCORE_URLS", "http://localhost:5000;https://localhost:5001", "User")

Дополнительная информация

Если проблема не устранена, предоставьте отзыв или сообщите о ней в обсуждениях по построителю данных.