#26: Функции Azure и SWA

Добро пожаловать на Неделю 4, день 5 из #30DaysOfSWA!!!

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

Архитектура Azure Static Web Apps по умолчанию разделяет веб-приложение на два компонента: статические активы (обслуживаемые глобальными службами распространения контента) и динамические конечные точки API (реализуемые с помощью бессерверных архитектур). В нашем посте о SWA с поддержкой API мы сосредоточились на управляемых функциях, где служба Azure Static Web Apps настраивает и управляет вашим развертыванием Azure Functions.

Сегодня мы рассмотрим другой вариант Bring Your Own Functions — когда вы можете использовать уже существующие (или самостоятельно разработанные) приложения Azure Functions и управлять их развертыванием отдельно.


Что мы рассмотрим

  • Что такое «Bring Your Own Functions» (BYOF)?
  • Преимущества BYOF по сравнению с управляемыми функциями
  • Переход от управляемых функций к BYOF
  • Ресурсы: Создание бессерверных приложений с помощью Azure Functions
  • Упражнение: Завершите этот учебный модуль, добавьте обновления в реальном времени в свой SWA!

Об авторе

Крейг Шумейкер — разработчик кода и контента в командах Azure Static Web Apps и Azure Container Apps компании Microsoft. Он также является автором Pluralsight и музыкантом. Найдите его по адресу @craigshoemaker или следите за ним прямо здесь, на dev.to.

Крейг Шумейкер

Работаю в Microsoft в командах Azure Static Web Apps & Azure Container Apps | Автор Pluralsight | Со-ведущий Web Rush | Музыкант https://bit.ly/the-ride-yt.

Что означает «Bring Your Own Functions» (BYOF)?

В нашем посте о SWA с поддержкой API мы упоминали, что Azure Static Web App может реализовать Serverless API с помощью Azure Functions двумя способами:

  • Managed Functions — когда служба Azure Static Web Apps настраивает и управляет развертыванием Azure Functions.
  • Bring Your Own Functions — когда вы используете уже существующее приложение Azure Functions и сами управляете развертыванием.

Второй вариант означает, что вы создаете и развертываете бессерверное приложение с использованием Azure Functions, которое существует независимо от развертывания Azure Static Web App. Эти приложения могут использовать весь набор функций Azure Functions без каких-либо ограничений, налагаемых на управляемые функции в SWA. Все, что вам нужно сделать, это настроить службу Static Web App на использование этой новой конечной точки API без сервера.


Почему «Bring Your Own Functions»?

Bring Your Own Functions — это мощная функция Azure Static Web Apps, которая позволяет связать существующие приложения Functions и избежать ограничений управляемых функций. Это означает, что вы можете:

  • Реализовывать и запускать функции на любом языке с помощью пользовательских обработчиков.
  • Использовать триггеры и привязки для создания сложных рабочих процессов.
  • Реализовывать Durable Functions, которые остаются stateful в бессерверных контекстах.
  • Используйте любые другие функции Azure Functions и применяйте лучшие практики.

Эти возможности становятся критически важными при масштабном развертывании реальных приложений. Обратите внимание, что Azure Static Web Apps имеет два плана хостинга: бесплатный и стандартный, где бесплатный уровень поддерживает только управляемые функции. Чтобы воспользоваться возможностями «Bring Your Own Functions», вам необходимо перейти на стандартный тарифный план.


Связывание существующего приложения Functions

Использовать существующее приложение Functions в Static Web Apps очень просто — все, что вам нужно сделать, это связать два приложения вместе. Как только вы создадите связь, приложение Functions будет опубликовано под следующим URL:

https://my-functions-app.azurewebsites.net/api/data
Вход в полноэкранный режим Выход из полноэкранного режима

…теперь также доступно по маршруту api в вашем статическом веб-приложении.

Например:

https://red-sea-123.azurestaticapps.net/api/data
Войти в полноэкранный режим Выйти из полноэкранного режима

Связывание существующего приложения Functions состоит из двух шагов: (1) обновление файла staticwebapp.config.json и (2) связывание приложений через портал Azure.

1. Обновите конфигурацию

Отредактируйте файл staticwebapp.config.json вашего сайта, чтобы внести следующие изменения:

  • Установите значение api_location на пустую строку ("").

2. Свяжите приложения через портал Azure

Перейдите к вашему статическому веб-приложению на портале Azure и внесите следующие изменения:

  • Нажмите на Functions в меню Settings
  • Выберите Production в выпадающем списке Environment
  • Щелкните Link to Function app рядом с раскрывающимся списком Functions type (Тип функций).
  • Выберите подписку в раскрывающемся списке Subscription
  • Выберите имя приложения Functions в раскрывающемся списке Function App
  • Нажмите кнопку Связать

Теперь ваше приложение Functions связано с вашим сайтом и доступно в маршруте api для вашего Static Web App!


Ресурсы

1. Обзор

Вы только начинаете знакомиться с идеей бессерверных приложений и бэкенда на базе Functions? Посмотрите этот видеообзор Azure Functions, а затем ознакомьтесь с руководством для разработчиков.

2. Быстрый старт

Хотите получить быстрый старт с Azure Functions? Вы можете создавать свои функции на C#, Java, JavaScript, PowerShell, Python, TypeScript и других языках (например, Go, Rust). Например, вы можете создавать приложения JavaScript Functions следующими способами:

  • Используя Visual Studio Code
  • Используя инструменты командной строки
  • Используя шаблон ARM = файл конфигурации JSON

3. Путь обучения

Хотите получить более полный обзор функций и возможностей Azure Functions с практическими модулями? Попробуйте курс «Создание бессерверных приложений». В нем 11 модулей, охватывающих как основные концепции, так и примеры использования.


Упражнение

Выполните этот учебный модуль, чтобы узнать, как использовать Azure SignalR для получения обновлений в реальном времени в вашем приложении с помощью Azure Functions. Затем примените полученные знания на практике, обновив один из существующих проектов SWA для использования этой возможности.

Оцените статью
Procodings.ru
Добавить комментарий