Знакомство с рабочими нагрузками
В этой главе представлены ключевые компоненты нашей системы и представлены общие сведения об архитектуре. Эти компоненты работают вместе, чтобы создать надежную и гибкую платформу для ваших потребностей разработки. Давайте рассмотрим эти компоненты и их роли в нашей архитектуре.
Архитектура рабочей нагрузки Fabric
Ниже приведены некоторые основные аспекты архитектуры рабочей нагрузки Fabric:
Он обрабатывает обработку, хранение и управление данными. Он проверяет маркеры идентификатора Microsoft Entra перед их обработкой и взаимодействует с внешними службами Azure, такими как Lakehouse.
Интерфейс рабочей нагрузки (FE) предлагает пользовательский интерфейс для создания заданий, разработки, управления и выполнения.
Взаимодействие пользователей с помощью FE инициирует запросы к BE напрямую или косвенно через серверную часть Fabric (Fabric BE).
Более подробные схемы, описывающие взаимодействие и проверку подлинности различных компонентов, см . в обзоре проверки подлинности и авторизации серверной части и схемах обзора проверки подлинности.
Интерфейсная часть (FE)
Интерфейс служит основой пользовательского интерфейса (UX) и поведением, работающим в iframe на портале Fabric. Он предоставляет партнеру Fabric определенный пользовательский интерфейс, включая редактор элементов. Пакет SDK клиента расширения предоставляет необходимые интерфейсы, API и функции начальной загрузки для преобразования обычного веб-приложения в веб-приложение Micro Frontend, которое работает легко на портале Fabric.
Серверная часть (BE)
Серверная часть — это powerhouse для обработки данных и хранилища метаданных. Она использует операции CRUD для создания элементов рабочей нагрузки и управления ими вместе с метаданными и выполнения заданий для заполнения данных в хранилище. Мост связи между интерфейсом и серверной частью устанавливается через общедоступные API.
Рабочие нагрузки могут выполняться в двух средах: локальном и облачном. В локальной среде (devmode) рабочая нагрузка выполняется на компьютере разработчика с вызовами API, управляемыми служебной программой DevGateway. Эта программа также обрабатывает регистрацию рабочей нагрузки в Fabric. В облачном режиме рабочая нагрузка выполняется в партнерских службах, при этом вызовы API выполняются непосредственно в конечную точку HTTPS.
Среда разработки
- Пакет рабочей нагрузки режима разработки. При создании серверного решения в Visual Studio используйте конфигурацию сборки отладки для создания пакета NUGet BE, который можно загрузить в клиент Fabric с помощью приложения DevGateway.
- Пакет рабочей нагрузки в облачном режиме. При создании решения BE в Visual Studio используйте конфигурацию сборки выпуска для создания автономного пакета рабочей нагрузки (BE и FE). Этот пакет можно отправить непосредственно в клиент.
- Дополнительные сведения о конфигурациях сборки отладки и выпуска см. в разделе об изменении конфигурации сборки.
Структура пакета NuGet рабочей нагрузки
Рабочая нагрузка упаковается в виде пакета NuGet, объединяющего серверные и интерфейсные компоненты. Структура соответствует определенным соглашениям об именовании и применяется Fabric для согласованности в сценариях отправки. Пакет NuGet, предназначенный для представления рабочих нагрузок, структурирован для включения внутренних и интерфейсных компонентов.
Структура серверной части
Внутренний сегмент состоит из .xml файлов, определяющих рабочую нагрузку и связанные с ней элементы, которые необходимы для регистрации в Fabric.
Ключевые компоненты
WorkloadManifest.xml
— файл конфигурации рабочей нагрузки, необходимый для проверки подлинности Fabric.Item1.xml
,Item2.xml
...
— манифесты для отдельных элементов с гибким именованием в формате XML.
Структура внешнего интерфейса
В разделе внешнего интерфейса содержатся .json файлы, подробные сведения о продукте и элементах внешнего интерфейса, а также каталог "активы" для значков.
Ключевые компоненты
Product.json
— Основной манифест внешнего интерфейса продукта, который должен быть назван именно для проверки Структуры.Item1.json
,Item2.json
...
— манифесты для отдельных элементов с гибким именованием в формате JSON. Каждый json соответствует внутреннему манифесту (например, Item1.json Item1.xml).assets
папка — сохраняет все значкиicon1.jpg
,...
icon2.png
используемые интерфейсом.
Обязательное соответствие структуры
Структура, включая определенные имена вложенных папок (BE, FE, assets), является обязательной и применяется Fabric для всех сценариев отправки, включая тестовые пакеты и пакеты разработки. Структура указана в файлах, найденных .nuspec
в репозитории в каталоге Backend/src/Packages/manifest
.
Ограничения
Следующие ограничения применяются ко всем типам пакетов NuGet как в режиме разработки, так и в облачном режиме:
FE
Разрешены толькоBE
вложенные папки. Любые другие вложенные папки или файлы, расположенные вне этих папок, приводят к ошибке отправки.- Папка
BE
принимает только.xml
файлы. Любой другой тип файла приводит к ошибке отправки. - Допускается не более 10 файлов элементов, что означает, что
BE
папка может содержать одинWorkloadManifest.xml
и до 10Item.xml
файлов. Наличие более 10 файлов элементов в папке приводит к ошибке отправки. - Вложенная
Assets
папка должна находиться в папкеFE
. Он может содержать до 15 файлов, при этом каждый файл не превышает 1,5 МБ. - В подпапке
Assets
разрешены только следующие типы файлов:.jpeg
, ..jpg
.png
- Папка
FE
может содержать не более 10 файлов элементов плюс одинproduct.json
файл. - Каждый ресурс в папке
Assets
должен ссылаться в файлах элементов. Любой ресурс, на который ссылается файл элемента, отсутствующий в папкеAssets
, приведет к ошибке отправки. - Имена файлов для элементов должны быть уникальными. Повторяющиеся имена файлов приводят к ошибке отправки.
- Имена файлов должны содержать буквенно-цифровые (английский) символы или дефисы только и не могут превышать длину 32 символов. Использование других символов или превышение этой длины приводит к ошибке отправки.
- Общий размер пакета не должен превышать 20 МБ.
- Обратитесь к манифесту рабочей нагрузки для конкретных ограничений манифеста.
Локальный режим разработки (devmode)
Серверная часть рабочей нагрузки (BE) работает на компьютере разработчика. Вызовы API рабочей нагрузки передаются через Azure Relay с помощью рабочей нагрузки стороны канала Ретрансляции Azure, управляемой специализированной служебной программой командной строки DevGateway. Вызовы API управления рабочей нагрузкой отправляются непосредственно из рабочей нагрузки в Fabric, обходя канал Azure Relay. Служебная программа DevGateway также контролирует регистрацию локального экземпляра разработки рабочей нагрузки в Fabric в контексте определенной рабочей области. После завершения служебной программы DevGateway регистрация экземпляра рабочей нагрузки автоматически отменяется. Дополнительные сведения см . в руководстве по реализации back-end.
Схема DevMode BE
Режим разработки облака (облачный режим)
Серверная часть рабочей нагрузки (BE) работает в службах партнера. Вызовы API рабочей нагрузки выполняются непосредственно в конечную точку HTTPS, как указано в манифесте рабочей нагрузки. В этом сценарии программа DevGateway не требуется. Регистрация рабочей нагрузки в Fabric выполняется путем отправки пакета NuGet рабочей нагрузки в Fabric и последующей активации рабочей нагрузки для клиента. Дополнительные сведения см. в статье "Управление рабочей нагрузкой в Fabric".