Tento příklad scénáře popisuje kanál pro hromadný příjem dat a analýzu dokumentů přicházejících z veřejných informačních kanálů RSS v reálném čase. Pomocí Azure Cognitive Services poskytuje užitečné přehledy na základě překladu textu, rozpoznávání obličeje a rozpoznávání mínění. Konkrétně jsou kroky zpracování obrázků a přirozeného jazyka propojeny v kanálu zasílání zpráv založeném na azure Service Bus. Výstupem kanálu je oznámení obsahující přehled nebo analýzu.
Tento scénář obsahuje příklady pro informační kanály proangličtinu, ruštinu a němčinu, ale můžete ho snadno rozšířit do dalších informačních kanálů RSS a dalších jazyků. Kvůli snadnému nasazení je shromažďování, zpracování a analýza dat zcela založená na službách Azure.
Potenciální případy použití
I když je tento scénář založený na zpracování informačních kanálů RSS, je relevantní pro všechny dokumenty, weby nebo články, ve kterých byste potřebovali:
- Přeloží text do jazyka podle volby.
- Vyhledání klíčových frází, entit a mínění uživatelů v digitálním obsahu
- Rozpoznání objektů, textu a orientačních míst na obrázcích spojených s digitálním článkem
- Rozpoznání lidí podle pohlaví a věku na obrázcích spojených s digitálním obsahem
Architektura

Data protékají tímto řešením:
Informační kanál RSS funguje jako generátor, který získává data z dokumentu nebo článku. Například v článku data obvykle obsahují název, souhrn původního textu zpravodajské položky a někdy obrázky.
Generátor nebo proces příjmu dat vloží článek a všechny přidružené image do kolekce Azure Cosmos DB.
Oznámení aktivuje funkci ingestování v Azure Functions, která ukládá text článku do Cosmos DB a obrázky článku (pokud jsou k dispozici) ve službě Azure Blob Storage. Článek se pak předá do další fronty.
Událost fronty aktivuje funkci translate. Používá rozhraní API pro překlad textu Azure Cognitive Services k rozpoznání jazyka, překladu v případě potřeby a shromažďování mínění, klíčových frází a entit z textu a názvu. Pak předá článek do další fronty.
Funkce detect se aktivuje z článku ve frontě. Používá službu Počítačové zpracování obrazu k detekci objektů, orientačních míst a napsaných slov na přidruženém obrázku a pak předá článek do další fronty.
Funkce tváře se aktivuje z článku ve frontě. Pomocí služby Rozhraní API pro rozpoznávání tváře Azure na přidruženém obrázku rozpozná tváře z hlediska pohlaví a věku a pak předá článek do další fronty.
Po dokončení všech funkcí se aktivuje funkce notify. Načte zpracované záznamy pro článek a vyhledá v nich všechny výsledky, které chcete. Pokud ho najdete, bude obsah označen příznakem a do vámi volby se do vámi volby zasílá oznámení.
V každém kroku zpracování funkce zapíše výsledky do Azure Cosmos DB. Nakonec je možné data použít podle potřeby. Můžete ji například použít k vylepšení obchodních procesů, vyhledání nových zákazníků nebo identifikaci problémů se spokojeností zákazníků.
Komponenty
V tomto příkladu se používá následující seznam komponent Azure.
Azure Storage se používá k podržení nezpracovaných souborů obrázků a videí přidružených k článku. Sekundární účet úložiště se vytvoří pomocí Azure App Service a slouží k hostování kódu a protokolů funkce Azure.
Azure Cosmos DB obsahuje informace o textu článku, obrázku a sledování videa. Tady jsou uložené Cognitive Services kroků.
Azure Functions spustí kód funkce, který se použije k reakci na zprávy ve frontě a transformaci příchozího obsahu. Azure App Service hostuje kód funkce a zpracovává záznamy sériově. Tento scénář obsahuje pět funkcí: Ingestování, transformace, detekce objektu, rozpoznávání tváře a oznámení.
Azure Service Bus hostuje fronty Service Bus azure používané funkcemi.
Azure Cognitive Services poskytuje AI pro kanál na základě implementací služby Počítačové zpracování obrazu, rozhraní APIpro rozpoznávání tváře a služby překladu textu.
Azure Application Přehledy poskytuje analýzy, které vám pomůžou diagnostikovat problémy a porozumět funkcím vaší aplikace.
Alternativy
Místo použití vzoru založeného na oznámení fronty a Azure Functions můžete pro tento tok dat použít vzor tématu a odběru. Azure Service Bus Topics je možné použít ke zpracování různých částí článku paralelně na rozdíl od sériového zpracování v tomto příkladu. Další informace najdete v tématu o porovnání front a témat.
Pomocí Azure Logic Apps implementovat kód funkce a implementovat zamykání na úrovni záznamů, jako je třeba zamykání poskytované algoritmem Redlock (který je nutný pro paralelní zpracování, dokud Azure Cosmos DB nepodporuje částečné aktualizace dokumentů). Další informace najdete v porovnání funkcí a Logic Apps.
Implementujte tuto architekturu s využitím přizpůsobených komponent AI místo existujících služeb Azure. Kanál můžete například rozšířit pomocí přizpůsobeného modelu, který na obrázku detekuje určité lidi na rozdíl od obecných údajů o počtu lidí, pohlaví a věku shromážděných v tomto příkladu. Pokud chcete s touto architekturou používat přizpůsobené modely strojového učení nebo AI, sestavte modely jako koncové body RESTful, aby je bylo možné volat z Azure Functions.
Místo informačních kanálů RSS použijte jiný vstupní mechanismus. Pomocí několika generátorů nebo procesů příjmu dat můžete do Azure Cosmos DB a Azure Storage.
Azure Cognitive Search je funkce AI ve službě Azure Search, kterou je možné použít také k extrakci textu z obrázků, objektů blob a dalších nestrukturovaných zdrojů dat.
Požadavky
Pro zjednodušení tento příklad používá pouze několik dostupných rozhraní API a služeb od Azure Cognitive Services. Například text na obrázcích je možné analyzovat pomocí Analýza textu API. Cílový jazyk v tomto scénáři se předpokládá jako angličtina, ale vstup můžete změnit na jakýkoli podporovaný jazyk.
Škálovatelnost
Azure Functions škálování závisí na plánu hostování, který používáte. Toto řešení předpokládá plán Consumption,ve kterém se výpočetní výkon v případě potřeby automaticky přiděluje funkcím. Platíte jenom za spuštěné funkce. Další možností je použít plán Dedicated,který umožňuje škálovat mezi úrovněmi a přidělit různé množství prostředků.
S Azure Cosmos DB je klíčem k distribuci úloh zhruba rovnoměrně mezi dostatečně velký počet klíčů oddílů. Neexistuje žádné omezení celkového množství dat, která může kontejner ukládat, ani celkovou propustnost, kterou může kontejner podporovat.
Správa a protokolování
Toto řešení používá aplikační Přehledy ke shromažďování informací o výkonu a protokolování. Instance služby Application Přehledy se vytvoří s nasazením ve stejné skupině prostředků jako ostatní služby potřebné pro toto nasazení.
Zobrazení protokolů generovaných řešením:
Přejděte na Azure Portal a přejděte do skupiny prostředků vytvořené pro nasazení.
Vyberte instanci Přehledy aplikace.
V části Application Přehledy přejděte na Prošetření \ vyhledávání a vyhledejte data.
Zabezpečení
Azure Cosmos DB používá zabezpečené připojení a sdílený přístupový podpis prostřednictvím sady C # SDK poskytované Microsoftem. Neexistují žádné jiné externě orientované povrchové oblasti. Přečtěte si další informace o osvědčených postupech zabezpečení pro Azure Cosmos DB.
Ceny
Azure Cosmos DB je výkonná, ale v tomto nasazení jsou nejvyšší náklady. Refaktoringem poskytnutého kódu můžete Azure Functions úložiště.
Ceny za Azure Functions se liší v závislosti na plánu, ve které běží.
Nasazení scénáře
Poznámka
Musíte mít existující účet Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Veškerý kód pro tento scénář je k dispozici v úložišti GitHub úložiště. Toto úložiště obsahuje zdrojový kód použitý k sestavení aplikace generátoru, která pro tuto ukázku používá kanál.
Další kroky
- Výběr úložiště analytických dat v Azure
- Volba technologie pro analýzu dat v Azure
- Volba technologie úložiště velkých dat v Azure
- Úvod do služby Azure Blob Storage
- Vítá vás Azure Cosmos DB
- Seznámení s Azure Functions
Související prostředky
Další analytické architektury: