Развертывание веб-приложения Python FastAPI с помощью PostgreSQL в Azure
В этом руководстве вы развернете веб-приложение Python на основе данных (FastAPI) в службе приложение Azure с помощью службы реляционной базы данных База данных Azure для PostgreSQL. поддержка службы приложение AzurePython в среде сервера Linux. Если вы хотите, ознакомьтесь с учебником Flask или руководством по Django.
Чтобы завершить работу с этим руководством, вам потребуется:
- Учетная запись Azure с активной подпиской. Если у вас нет учетной записи Azure, ее можно создать бесплатно.
- Знание Python с помощью разработки FastAPI
- Учетная запись Azure с активной подпиской. Если у вас нет учетной записи Azure, ее можно создать бесплатно.
- Установлен интерфейс командной строки разработчика Azure. Вы можете выполнить действия с помощью Azure Cloud Shell , так как он уже установлен с помощью Интерфейса командной строки разработчика Azure.
- Знание Python с помощью разработки FastAPI
Перейти к концу
С установленным интерфейсом командной строки разработчика Azure можно перейти к концу руководства, выполнив следующие команды в пустом рабочем каталоге:
azd auth login
azd init --template msdocs-fastapi-postgresql-sample-app
azd up
Пример приложения
Пример приложения Python с помощью платформы FastAPI предоставляется, чтобы помочь вам следовать вместе с этим руководством. Чтобы развернуть его без локального запуска, пропустите эту часть.
Чтобы запустить приложение локально, убедитесь, что на локальном компьютере установлен Python 3.8 или более поздней версии и PostgreSQL . Затем клонируйте ветвь примера репозитория starter-no-infra
и перейдите в корневой каталог репозитория.
git clone -b starter-no-infra https://github.com/Azure-Samples/msdocs-fastapi-postgresql-sample-app
cd msdocs-fastapi-postgresql-sample-app
Создайте файл .env, как показано ниже, используя файл .env.sample в качестве руководства. Настройте для параметра DBNAME
имя существующей базы данных в локальном экземпляре PostgreSQL. Задайте значения DBHOST
, DBUSER
и DBPASS
в соответствии с настройками локального экземпляра PostgreSQL.
DBNAME=<database name>
DBHOST=<database-hostname>
DBUSER=<db-user-name>
DBPASS=<db-password>
Создайте виртуальную среду для приложения:
py -m venv .venv
.venv\scripts\activate
Установка зависимостей:
python3 -m pip install -r src/requirements.txt
Установите приложение в виде редактируемого пакета:
python3 -m pip install -e src
Запустите пример приложения со следующими командами:
# Run database migration
python3 src/fastapi_app/seed_data.py
# Run the app at http://127.0.0.1:8000
python3 -m uvicorn fastapi_app:app --reload --port=8000
1. Создание Служба приложений и PostgreSQL
В этом шаге вы создадите ресурсы Azure. Действия, используемые в этом руководстве, создают набор безопасных ресурсов по умолчанию, включающих Служба приложений и База данных Azure для PostgreSQL. Для процесса создания укажите:
-
Имя веб-приложения. Это имя используется в составе DNS-имени вашего веб-приложения в виде
https://<app-name>.azurewebsites.net
. - Регион для физического запуска приложения.
- Стек среды выполнения для приложения. Здесь вы выбираете версию Python, используемую для вашего приложения.
- План размещения для приложения. Это ценовая категория, которая включает набор функций и емкость масштабирования для вашего приложения.
- Группа ресурсов для приложения. Группа ресурсов позволяет группировать (в логическом контейнере) все ресурсы Azure, необходимые для приложения.
Войдите на портал Azure и выполните следующие действия, чтобы создать ресурсы Службы приложений Azure.
Шаг 1. В портал Azure:
- Введите "веб-приложение база данных" в строке поиска в верхней части портала Azure.
- Выберите элемент с меткой Веб-приложение и база данных под заголовком Marketplace. Вы также можете перейти напрямую к мастеру создания.
Шаг 2. На странице "Создание веб-приложения + база данных " заполните форму следующим образом.
- Группа ресурсов → выбрать создать и использовать имя msdocs-python-postgres-tutorial.
- Регион → любой ближайший к вам регион Azure.
- Имя → msdocs-python-postgres-XYZ, где XYZ является тремя случайными символами. Это имя должно быть уникальным в Azure.
- Стек среды выполнения → Python 3.12.
- База данных → PostgreSQL — гибкий сервер по умолчанию выбирается в качестве ядра СУБД. Имя сервера и имя базы данных также задаются по умолчанию соответствующими значениями.
- План размещения — Базовый. Позже, когда все будет готово, вы сможете вертикально увеличить масштаб до рабочей ценовой категории.
- Выберите Review + create (Просмотреть и создать).
- После завершения проверки щелкните Создать.
Шаг 3. Развертывание занимает несколько минут. После завершения развертывания нажмите кнопку Перейти к ресурсу. Вы перейдете непосредственно в приложение Службы приложений, но будут созданы следующие ресурсы:
- Группа ресурсов — Контейнер для всех созданных ресурсов.
- План службы приложений — определяет вычислительные ресурсы для Службы приложений. Создается план Linux на уровне Базовый.
- Служба приложений — представляет приложение и выполняется в плане службы приложений.
- Виртуальная сеть — интегрирована с приложением Службы приложений и изолирует внутренний сетевой трафик.
- База данных Azure для PostgreSQL гибкий сервер → доступен только из виртуальной сети. База данных и пользователь создаются на этом сервере.
- Частная зона DNS зона → включает разрешение DNS сервера PostgreSQL в виртуальной сети.
Шаг 4. Для приложений FastAPI необходимо ввести команду запуска, чтобы служба приложений могли запустить приложение. На странице Служба приложений:
- В меню слева в разделе Параметры выберите Конфигурация.
-
На вкладке "Общие параметры" на странице "Конфигурация" введите
src/entrypoint.sh
в поле "Команда запуска" в разделе "Параметры стека". - Выберите Сохранить. При появлении запроса выберите Далее. Дополнительные сведения о настройке и запуске приложений в Служба приложений см. в статье "Настройка приложения Python Linux для службы приложение Azure".
2. Проверка параметров подключения
Мастер создания создал переменные подключения для вас уже в качестве параметров приложения. Параметры приложения — это один из способов сохранения секретов подключения из репозитория кода. Когда вы будете готовы переместить секреты в более безопасное расположение, ознакомьтесь со статьей по хранению в Azure Key Vault.
Шаг 1. На странице Служба приложений в меню слева выберите переменные среды.
Шаг 2. На вкладке "Параметры приложения" на странице переменных среды убедитесь, что AZURE_POSTGRESQL_CONNECTIONSTRING
он присутствует. Строка подключения будет внедрена в среду выполнения в качестве переменной среды.
3. Развертывание примера кода
На этом шаге вы настроите развертывание GitHub с помощью GitHub Actions. Это всего лишь один из множества способов развертывания в Службе приложений, но это также отличный способ обеспечения непрерывной интеграции в процессе развертывания. По умолчанию каждая команда git push
из репозитория GitHub запускает действие сборки и развертывания.
Шаг 1. В новом окне браузера:
- Войдите в свою учетную запись GitHub.
- Перейдите к https://github.com/Azure-Samples/msdocs-fastapi-postgresql-sample-app.
- Выберите Создать вилку.
- Щелкните Создать вилку.
Шаг 2. На странице GitHub откройте Visual Studio Code в браузере, нажав клавишу .
.
Шаг 3. В Visual Studio Code в браузере откройте src/fastapi/models.py в обозревателе. См. переменные среды, используемые в рабочей среде, включая параметры приложения, которые вы видели на странице конфигурации.
Шаг 4. Вернитесь на страницу Служба приложений в меню слева в разделе "Развертывание" выберите Центр развертывания.
Шаг 5. На странице Центра развертывания:
- В поле Источник выберите GitHub. По умолчанию в качестве поставщика сборки выбрано GitHub Actions.
- Войдите в свою учетную запись GitHub и следуйте инструкциям по авторизации Azure.
- В поле Организация выберите свою учетную запись.
- В репозитории выберите msdocs-fastapi-postgresql-sample-app.
- В поле Ветвь выберите main.
- Сохраните параметр по умолчанию, чтобы добавить рабочий процесс.
- В разделе " Тип проверки подлинности" выберите удостоверение, назначаемое пользователем.
- В меню сверху выберите Сохранить. Служба приложений фиксирует файл рабочего процесса в выбранном репозитории GitHub в каталоге
.github/workflows
.
Шаг 6. На странице Центра развертывания:
- Выберите Журналы. Прогон развертывания уже запущен.
- В элементе журнала для прогона развертывания выберите Журналы сборки и развертывания.
Шаг 7. Вы перейдете в репозиторий GitHub и увидите, что действие GitHub выполняется. Файл рабочего процесса определяет два отдельных этапа: сборку и развертывание. Дождитесь, пока в выполнении действия GitHub не будет показано состояние Завершено. Это занимает около 5 минут.
Возникли проблемы? Ознакомьтесь с руководством по устранению неполадок.
4. Создание схемы базы данных
В предыдущем разделе вы добавили src/entrypoint.sh в качестве команды запуска приложения.
entrypoint.sh содержит следующую строку: python3 src/fastapi_app/seed_data.py
Эта команда переносит базу данных. В примере приложения он гарантирует, что в базе данных создаются только правильные таблицы. Он не заполняет эти таблицы данными.
В этом разделе вы запустите эту команду вручную для демонстрационных целей. С базой данных PostgreSQL, защищенной виртуальной сетью, проще всего выполнить команду в сеансе SSH с контейнером Служба приложений.
Шаг 1. Назад на странице Служба приложений в меню слева
- Выберите SSH.
- Выберите Выполнить.
Шаг 2. В терминале SSH выполните команду python3 src/fastapi_app/seed_data.py
. При успешном завершении Служба приложений успешно подключается к базе данных.
После перезапуска приложения могут сохраняться только изменения в файлах в /home
. Изменения за пределами /home
не сохраняются.
5. Перейдите к приложению
Шаг 1. На странице Служба приложений:
- В меню слева выберите Обзор.
- Выберите URL-адрес своего приложения. Также можно перейти непосредственно по адресу
https://<app-name>.azurewebsites.net
.
Шаг 2. Добавьте в список несколько ресторанов. Поздравляем, вы запускаете веб-приложение в службе приложение Azure с безопасным подключением к База данных Azure для PostgreSQL.
6. Потоковая передача журналов диагностики
Пример приложения использует модуль ведения журнала стандартной библиотеки Python для диагностики проблем с приложением. Пример приложения включает вызовы средства ведения журнала, как показано в следующем коде.
@app.get("/", response_class=HTMLResponse)
async def index(request: Request, session: Session = Depends(get_db_session)):
logger.info("root called")
statement = (
select(Restaurant, func.avg(Review.rating).label("avg_rating"), func.count(Review.id).label("review_count"))
.outerjoin(Review, Review.restaurant == Restaurant.id)
.group_by(Restaurant.id)
)
Шаг 1. На странице Служба приложений:
- В меню слева в разделе "Мониторинг" выберите Служба приложений журналы.
- Под элементом Ведение журнала приложения выберите Файловая система.
- В меню сверху выберите Сохранить.
Шаг 2. В меню слева выберите поток журналов. Вы увидите журналы для своего приложения, включая журналы платформы и журналы из контейнера.
События могут занять несколько минут, чтобы отобразиться в журналах диагностики. Дополнительные сведения о ведении журнала в приложениях Python в серии о настройке Azure Monitor для приложения Python.
7. Очистка ресурсов
По завершении работы можно удалить все ресурсы из вашей подписки Azure, удалив соответствующую группу ресурсов.
Шаг 1. В строке поиска в верхней части портал Azure:
- Введите имя группы ресурсов.
- Выберите группу ресурсов.
Шаг 2. На странице группы ресурсов выберите "Удалить группу ресурсов".
Шаг 3.
- Введите имя группы ресурсов для подтверждения удаления.
- Выберите команду Удалить.
1. Создание ресурсов Azure и развертывание примера приложения
На этом шаге вы создадите ресурсы Azure и развернете пример приложения для Служба приложений в Linux. Действия, используемые в этом руководстве, создают набор безопасных ресурсов по умолчанию, включающих Служба приложений и База данных Azure для PostgreSQL.
Если вы еще не сделали этого, клонируйте ветвь примера репозитория
starter-no-infra
в локальном терминале.git clone -b starter-no-infra https://github.com/Azure-Samples/msdocs-fastapi-postgresql-sample-app cd msdocs-fastapi-postgresql-sample-app
Эта клонированная ветвь является отправной точкой. Он содержит простое приложение FastAPI для диска данных.
Выполните команду
azd init
из корневого каталога репозитория.azd init --template msdocs-fastapi-postgresql-sample-app
При появлении запроса укажите следующие ответы:
Вопрос Ответ Текущий каталог не пуст. Вы хотите инициализировать проект здесь в каталоге<>? Y Что вы хотите сделать с этими файлами? Сохранение существующих файлов без изменений Введите новое имя среды Введите уникальное имя. Шаблон azd использует это имя как часть DNS-имени веб-приложения в Azure ( <app-name>.azurewebsites.net
). Разрешены буквенно-цифровые символы и дефисы.azd up
Выполните команду, чтобы подготовить необходимые ресурсы Azure и развернуть код приложения. Если вы еще не вошли в Azure, браузер запустит и попросит вас войти. Командаazd up
также предложит выбрать нужную подписку и расположение для развертывания.azd up
Выполнение
azd up
команды может занять несколько минут. Он также компилирует и развертывает код приложения. Во время выполнения команда предоставляет сообщения о процессе подготовки и развертывания, включая ссылку на развертывание в Azure. По завершении команда также отображает ссылку на приложение развертывания.Этот шаблон azd содержит файлы (azure.yaml и инфракрасный каталог), создающие безопасную архитектуру по умолчанию со следующими ресурсами Azure:
- Группа ресурсов — Контейнер для всех созданных ресурсов.
- План службы приложений — определяет вычислительные ресурсы для Службы приложений. Указан план Linux на уровне B1 .
- Служба приложений — представляет приложение и выполняется в плане службы приложений.
- Виртуальная сеть — интегрирована с приложением Службы приложений и изолирует внутренний сетевой трафик.
- База данных Azure для PostgreSQL гибкий сервер → доступен только из виртуальной сети. База данных и пользователь создаются на этом сервере.
- Частная зона DNS зона → включает разрешение DNS сервера PostgreSQL в виртуальной сети.
- Рабочая область Log Analytics → выступает в качестве целевого контейнера для вашего приложения для отправки журналов, где можно также запросить журналы.
azd up
По завершении команды запишите значения идентификатора подписки (GUID), Служба приложений и группы ресурсов в выходных данных. Они используются в следующих разделах. Выходные данные будут выглядеть примерно так:Subscription: Your subscription name (1111111-1111-1111-1111-111111111111) Location: East US You can view detailed progress in the Azure Portal: https://portal.azure.com/#view/HubsExtension/DeploymentDetailsBlade/~/overview/id/%2Fsubscriptions%2F1111111-1111-1111-1111-111111111111%2Fproviders%2FMicrosoft.Resources%2Fdeployments%2Fyourenv-1721867673 (✓) Done: Resource group: yourenv-rg (✓) Done: Virtual Network: yourenv-e2najjk4vewf2-vnet (✓) Done: App Service plan: yourenv-e2najjk4vewf2-service-plan (✓) Done: Log Analytics workspace: yourenv-e2najjk4vewf2-workspace (✓) Done: Application Insights: yourenv-e2najjk4vewf2-appinsights (✓) Done: Portal dashboard: yourenv-e2najjk4vewf2-dashboard (✓) Done: App Service: yourenv-e2najjk4vewf2-app-service (✓) Done: Azure Database for PostgreSQL flexible server: yourenv-e2najjk4vewf2-postgres-server (✓) Done: Cache for Redis: yourenv-e2najjk4vewf2-redisCache (✓) Done: Private Endpoint: cache-privateEndpoint SUCCESS: Your application was provisioned in Azure in 32 minutes. You can view the resources created under the resource group yourenv-rg in Azure Portal: https://portal.azure.com/#@/resource/subscriptions/1111111-1111-1111-1111-111111111111/resourceGroups/yourenv-rg/overview Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: https://yourenv-e2najjk4vewf2-app-service.azurewebsites.net/
2. Проверка строка подключения базы данных
Шаблон azd создает переменные подключения для вас в качестве параметров приложения. Параметры приложения — это один из способов сохранения секретов подключения из репозитория кода.
infra/resources.bicep
В файле найдите параметры приложения и найдите параметр дляAZURE_POSTGRESQL_CONNECTIONSTRING
.resource appSettings 'config' = { name: 'appsettings' properties: { SCM_DO_BUILD_DURING_DEPLOYMENT: 'true' AZURE_POSTGRESQL_CONNECTIONSTRING: 'dbname=${pythonAppDatabase.name} host=${postgresServer.name}.postgres.database.azure.com port=5432 sslmode=require user=${postgresServer.properties.administratorLogin} password=${databasePassword}' SECRET_KEY: secretKey AZURE_REDIS_CONNECTIONSTRING: 'rediss://:${redisCache.listKeys().primaryKey}@${redisCache.name}.redis.cache.windows.net:6380/0' } }
AZURE_POSTGRESQL_CONNECTIONSTRING
содержит строка подключения в базу данных Postgres в Azure. Его необходимо использовать в коде для подключения к нему. Код, использующий эту переменную среды, можно найти в src/fastapi/models.py:sql_url = "" if os.getenv("WEBSITE_HOSTNAME"): logger.info("Connecting to Azure PostgreSQL Flexible server based on AZURE_POSTGRESQL_CONNECTIONSTRING...") env_connection_string = os.getenv("AZURE_POSTGRESQL_CONNECTIONSTRING") if env_connection_string is None: logger.info("Missing environment variable AZURE_POSTGRESQL_CONNECTIONSTRING") else: # Parse the connection string details = dict(item.split('=') for item in env_connection_string.split()) # Properly format the URL for SQLAlchemy sql_url = ( f"postgresql://{quote_plus(details['user'])}:{quote_plus(details['password'])}" f"@{details['host']}:{details['port']}/{details['dbname']}?sslmode={details['sslmode']}" ) else: logger.info("Connecting to local PostgreSQL server based on .env file...") load_dotenv() POSTGRES_USERNAME = os.environ.get("DBUSER") POSTGRES_PASSWORD = os.environ.get("DBPASS") POSTGRES_HOST = os.environ.get("DBHOST") POSTGRES_DATABASE = os.environ.get("DBNAME") POSTGRES_PORT = os.environ.get("DBPORT", 5432) sql_url = f"postgresql://{POSTGRES_USERNAME}:{POSTGRES_PASSWORD}@{POSTGRES_HOST}:{POSTGRES_PORT}/{POSTGRES_DATABASE}" engine = create_engine(sql_url)
3. Проверка команды запуска
приложение Azure службе требуется команда запуска для запуска приложения FastAPI. Azd template задает эту команду в Служба приложений экземпляре.
infra/resources.bicep
В файле найдите объявление для веб-сайта, а затем найдите параметрappCommandLine
. Это параметр команды запуска.resource web 'Microsoft.Web/sites@2022-03-01' = { name: '${prefix}-app-service' location: location tags: union(tags, { 'azd-service-name': 'web' }) kind: 'app,linux' properties: { serverFarmId: appServicePlan.id siteConfig: { alwaysOn: true linuxFxVersion: 'PYTHON|3.11' ftpsState: 'Disabled' appCommandLine: 'src/entrypoint.sh' minTlsVersion: '1.2' } httpsOnly: true } identity: { type: 'SystemAssigned' }
Команда запуска запускает файл src/entrypoint.sh. Изучите код в этом файле, чтобы понять команды, которые Служба приложений запуска приложения:
#!/bin/bash set -e python3 -m pip install --upgrade pip python3 -m pip install -e src python3 src/fastapi_app/seed_data.py python3 -m gunicorn fastapi_app:app -c src/gunicorn.conf.py
Дополнительные сведения о настройке и запуске приложений в Служба приложений см. в статье "Настройка приложения Python Linux для службы приложение Azure".
4. Создание схемы базы данных
Возможно, вы заметили в предыдущем разделе, что entrypoint.sh содержит следующую строку: python3 src/fastapi_app/seed_data.py
Эта команда переносит базу данных. В примере приложения он гарантирует, что в базе данных создаются только правильные таблицы. Он не заполняет эти таблицы данными.
В этом разделе вы запустите эту команду вручную для демонстрационных целей. С базой данных PostgreSQL, защищенной виртуальной сетью, проще всего выполнить команду в сеансе SSH с контейнером Служба приложений.
Используйте значение Служба приложений, которое вы указали ранее в выходных данных azd и шаблоне ниже, чтобы создать URL-адрес сеанса SSH и перейти к нему в браузере:
https://<app-name>.scm.azurewebsites.net/webssh/host
В терминале SSH выполните команду
python3 src/fastapi_app/seed_data.py
. При успешном завершении Служба приложений успешно подключается к базе данных.Примечание.
После перезапуска приложения могут сохраняться только изменения в файлах в
/home
. Изменения за пределами/home
не сохраняются.
5. Перейдите к приложению
В выходных данных azd найдите URL-адрес приложения и перейдите к нему в браузере. URL-адрес выглядит следующим образом в выходных данных AZD:
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: https://<app-name>.azurewebsites.net/
Добавьте несколько ресторанов в список.
Поздравляем, вы запускаете веб-приложение в службе приложение Azure с безопасным подключением к База данных Azure для PostgreSQL.
6. Потоковая передача журналов диагностики
служба приложение Azure может записывать журналы для диагностики проблем с приложением. Для удобства шаблон azd уже включил ведение журнала в локальной файловой системе.
В примере приложения для вывода журналов используется модуль ведения журнала стандартной библиотеки Python. Пример приложения включает вызовы средства ведения журнала, как показано ниже.
@app.get("/", response_class=HTMLResponse)
async def index(request: Request, session: Session = Depends(get_db_session)):
logger.info("root called")
statement = (
select(Restaurant, func.avg(Review.rating).label("avg_rating"), func.count(Review.id).label("review_count"))
.outerjoin(Review, Review.restaurant == Restaurant.id)
.group_by(Restaurant.id)
)
Используйте значения идентификатора подписки (GUID), группы ресурсов и Служба приложений, которые вы указали ранее в выходных данных azd и шаблоне, показанном ниже, для создания URL-адреса для потоковой передачи журналов Служба приложений и перехода к нему в браузере.
https://portal.azure.com/#@/resource/subscriptions/<subscription-guid>/resourceGroups/<group-name>/providers/Microsoft.Web/sites/<app-name>/logStream
События могут занять несколько минут, чтобы отобразиться в журналах диагностики. Дополнительные сведения о ведении журнала в приложениях Python в серии о настройке Azure Monitor для приложения Python.
7. Очистка ресурсов
Чтобы удалить все ресурсы Azure в текущей среде развертывания, выполните команду azd down
.
azd down
Устранение неполадок
Ниже приведены проблемы, которые могут возникнуть при попытке работы с этим руководством и инструкциями по их устранению.
Не удается подключиться к сеансу SSH
Если вы не можете подключиться к сеансу SSH, само приложение не удалось запустить. Дополнительные сведения см. в журналах диагностики . Например, если вы видите ошибку, KeyError: 'AZURE_POSTGRESQL_CONNECTIONSTRING'
это может означать, что переменная среды отсутствует (возможно, вы удалили параметр приложения).
При выполнении миграции базы данных возникает ошибка
Если возникают какие-либо ошибки, связанные с подключением к базе данных, проверьте, были ли изменены параметры приложения (AZURE_POSTGRESQL_CONNECTIONSTRING
). Без этого строка подключения команда миграции не может взаимодействовать с базой данных.
Часто задаваемые вопросы
- Сколько стоит такая конфигурация?
- Разделы справки подключиться к серверу PostgreSQL, защищенному за виртуальной сетью с другими средствами?
- Как осуществляется разработка локальных приложений с использованием GitHub Actions?
Сколько стоит такая конфигурация?
Цены на созданные ресурсы приведены следующим образом:
- План службы приложений создается на уровне Базовый, и его можно масштабировать вверх или вниз. См. цены на Службу приложений.
- Гибкий сервер PostgreSQL создается на самом низком уровне с максимальным объемом памяти Standard_B1ms с минимальным размером хранилища, который можно масштабировать вверх или вниз. Цены на Базу данных Azure для PostgreSQL.
- Плата за виртуальную сеть не взимается, если только вы не настроите дополнительные функциональные возможности, такие как пиринг. См. цены на виртуальные сети Azure.
- За частную зону DNS взимается небольшая плата. См. цены на Azure DNS.
Разделы справки подключиться к серверу PostgreSQL, защищенному за виртуальной сетью с другими средствами?
- Для базового доступа из программы командной строки можно запустить
psql
из терминала SSH приложения. - Чтобы подключиться из классического средства, компьютер должен находиться в виртуальной сети. Например, это может быть виртуальная машина Azure, подключенная к одной из подсетей, или компьютер в локальной сети с VPN-подключением типа "сеть — сеть" к виртуальной сети Azure.
- Вы также можете интегрировать Azure Cloud Shell с виртуальной сетью.
Как осуществляется разработка локальных приложений с использованием GitHub Actions?
Используя автоматически созданный файл рабочего процесса из Служба приложений в качестве примера, каждый git push
запускает новую сборку и развертывание. Из локального клона репозитория GitHub необходимо внести необходимые обновления и отправить их в GitHub. Например:
git add .
git commit -m "<some-message>"
git push origin main
Следующие шаги
Перейдите к следующему руководству, чтобы узнать, как защитить приложение с помощью личного домена и сертификата.
Узнайте, как Служба приложений запускает приложение Python: