Představujeme úlohy
Tato kapitola představuje klíčové komponenty našeho systému a poskytuje přehled architektury. Tyto komponenty spolupracují na vytvoření robustní a flexibilní platformy pro vaše potřeby vývoje. Pojďme se na tyto komponenty a jejich role ponoříme do naší architektury.
Architektura úloh infrastruktury
Mezi klíčové aspekty architektury úloh Infrastruktury patří:
Zpracovává zpracování, ukládání a správu dat. Před zpracováním ověří tokeny MICROSOFT Entra ID a komunikuje s externími službami Azure, jako je Lakehouse.
Front-end úlohy (FE) nabízí uživatelské rozhraní pro vytváření úloh, vytváření, správu a spouštění úloh.
Interakce uživatelů prostřednictvím fe inicializuje požadavky na BE, a to buď přímo nebo nepřímo prostřednictvím back-endu infrastruktury (Fabric BE).
Podrobnější diagramy znázorňující komunikaci a ověřování různých komponent najdete v přehledu ověřování a autorizace back-endu a diagramech přehledu ověřování.
Front-end (FE)
Front-end slouží jako základ uživatelského prostředí (UX) a chování, které funguje v rámci prvku iframe na portálu Fabric. Poskytuje partnerovi Fabric konkrétní prostředí uživatelského rozhraní, včetně editoru položek. Klientská sada SDK rozšíření poskytuje potřebná rozhraní, rozhraní API a funkce bootstrap k transformaci běžné webové aplikace na webovou aplikaci Micro Front-end, která bezproblémově funguje na portálu Fabric.
Back-end (BE)
Back-end je powerhouse pro zpracování dat a úložiště metadat. Využívá operace CRUD k vytváření a správě položek úloh spolu s metadaty a spouštění úloh pro naplnění dat v úložišti. Komunikační most mezi front-endem a back-endem se vytváří prostřednictvím veřejných rozhraní API.
Úlohy se můžou spouštět ve dvou prostředích: v místním prostředí a v cloudu. V místním prostředí (devmode) běží úloha na počítači vývojáře s voláními rozhraní API spravovanými nástrojem DevGateway. Tento nástroj také zpracovává registraci úloh v prostředcích Fabric. V cloudovém režimu se úloha spouští na partnerských službách s voláními rozhraní API provedenými přímo do koncového bodu HTTPS.
Vývojové prostředí
- Balíček úloh v režimu dev: Při sestavování back-endového řešení v sadě Visual Studio vytvořte pomocí konfigurace sestavení ladění balíček BE NuGet, který lze načíst do tenanta Fabric pomocí aplikace DevGateway.
- Balíček úloh v režimu cloudu: Při sestavování řešení BE v sadě Visual Studio použijte konfiguraci sestavení vydané verze k vytvoření samostatného balíčku úloh (BE a FE). Tento balíček lze nahrát přímo do tenanta.
- Další podrobnosti o konfiguracích sestavení pro ladění a vydání najdete v tématu Změna konfigurace sestavení.
Struktura balíčků NuGet úloh
Úloha je zabalená jako balíček NuGet, který kombinuje back-endové a front-endové komponenty. Struktura dodržuje konkrétní zásady vytváření názvů a prostředky infrastruktury vynucují kvůli konzistenci napříč scénáři nahrávání. Balíček NuGet navržený tak, aby představoval úlohy, je strukturovaný tak, aby zahrnoval back-endové i front-endové komponenty.
Back-endová struktura
Back-endový segment se skládá ze .xml souborů, které definují úlohu a související položky, které jsou nezbytné pro registraci v prostředcích Fabric.
Klíčové komponenty
-
WorkloadManifest.xml
– Konfigurační soubor úlohy, který musí mít tento přesný název pro ověření prostředků infrastruktury. -
Item1.xml
, ,Item2.xml
...
– Manifesty pro jednotlivé položky s flexibilním pojmenováním podle formátu XML.
Front-endová struktura
Část front-endu obsahuje .json soubory s podrobnostmi o produktu a položkách pro front-end spolu s adresářem assets pro ikony.
Klíčové komponenty
-
Product.json
- Hlavní manifest pro front-end vašeho produktu, který musí být pojmenován přesně pro ověření Fabric. -
Item1.json
,Item2.json
,...
– Manifesty pro jednotlivé položky s flexibilním pojmenováním podle formátu JSON. Každý json odpovídá back-endovému manifestu (např. Item1.json Item1.xml). -
assets
složka - Ukládá všechny ikonyicon1.jpg
,icon2.png
používané...
front-endem.
Dodržování povinných struktur
Struktura, včetně konkrétních názvů podsložek (BE, FE, Assets), je povinná a vynucuje prostředky infrastruktury pro všechny scénáře nahrávání, včetně testovacích a vývojových balíčků. Struktura je určena v souborech .nuspec
nalezených v úložišti v adresáři Backend/src/Packages/manifest
.
Omezení
Následující omezení platí pro všechny typy balíčků NuGet, a to jak ve vývojovém režimu, tak v cloudovém režimu:
-
BE
Jsou povoleny pouzeFE
podsložky. Jakékoli jiné podsložky nebo soubory umístěné mimo tyto složky způsobí chybu nahrávání. - Složka
BE
přijímá pouze.xml
soubory. Jakýkoli jiný typ souboru způsobí chybu nahrávání. - Je povoleno maximálně 10 souborů položek, což znamená
BE
, že složka může obsahovat jedenWorkloadManifest.xml
a až 10Item.xml
souborů. Výsledkem více než 10 souborů položek ve složce je chyba nahrávání. - Podsložka
Assets
se musí nacházet veFE
složce. Může obsahovat až 15 souborů, přičemž každý soubor není větší než 1,5 MB. - V podsložce jsou povoleny
Assets
pouze následující typy souborů:.jpeg
,.jpg
,.png
. - Složka
FE
může obsahovat maximálně 10 souborů položek a jedenproduct.json
soubor. - Velikost
product.json
nesmí překročit 50 kB. - Každý prostředek ve
Assets
složce musí být odkazován v souborech položek. Jakýkoli prostředek odkazovaný ze souboru položky, který ve složce chybíAssets
, způsobí chybu nahrání. - Názvy souborů položek musí být jedinečné. Duplicitní názvy souborů způsobí chybu nahrávání.
- Názvy souborů musí obsahovat pouze alfanumerické znaky nebo spojovníky a nesmí překročit délku 32 znaků. Použití jiných znaků nebo překročení této délky způsobí chybu nahrávání.
- Celková velikost balíčku nesmí překročit 20 MB.
- Informace o omezeních specifických pro manifest najdete v manifestu úlohy.
Místní vývojový režim (devmode)
Back-end úlohy (BE) funguje na počítači vývojáře. Volání rozhraní API pro úlohy se přenášejí prostřednictvím služby Azure Relay se stranou kanálu Azure Relay spravovaného specializovaným nástrojem příkazového řádku DevGateway. Volání rozhraní API pro řízení úloh se odesílají přímo z úlohy do prostředků infrastruktury a obcházejí kanál Azure Relay. Nástroj DevGateway také dohlíží na registraci místní instance vývoje úlohy s Prostředky infrastruktury v kontextu konkrétního pracovního prostoru. Po ukončení nástroje DevGateway se registrace instance úlohy automaticky zruší. Další informace najdete v průvodci implementací back-endu.
Schéma DevMode BE
Režim vývoje cloudu (cloudový režim)
Back-end úlohy (BE) funguje v rámci služeb partnera. Volání rozhraní API pro úlohy se provádějí přímo do koncového bodu HTTPS, jak je uvedeno v manifestu úlohy. V tomto scénáři není vyžadován nástroj DevGateway. Registrace úlohy v prostředcích infrastruktury se provádí tak, že nahraje balíček NuGet úlohy do prostředků infrastruktury a následně aktivuje úlohu pro tenanta. Další informace najdete v tématu Správa úloh v prostředcích infrastruktury.