Kurz: Směrování zpráv MQTT ve službě Azure Event Grid do Azure Functions pomocí vlastních témat – Azure Portal
V tomto kurzu se naučíte směrovat zprávy MQTT přijaté oborem názvů Azure Event Grid do funkce Azure pomocí vlastního tématu Event Gridu pomocí následujícího postupu:
Pokud předplatné Azure nemáte, můžete si zaregistrovat bezplatnou zkušební verzi.
Vytvoření funkce Azure pomocí triggeru Event Gridu
Postupujte podle pokynů k vytvoření funkce Azure pomocí editoru Visual Studio Code, ale místo použití triggeru HTTP použijte trigger Azure Event Gridu. Měl by se zobrazit kód podobný následujícímu příkladu:
using System;
using Azure.Messaging;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
namespace Company.Function
{
public class MyEventGridTriggerFunc
{
private readonly ILogger<MyEventGridTriggerFunc> _logger;
public MyEventGridTriggerFunc(ILogger<MyEventGridTriggerFunc> logger)
{
_logger = logger;
}
[Function(nameof(MyEventGridTriggerFunc))]
public void Run([EventGridTrigger] CloudEvent cloudEvent)
{
_logger.LogInformation("Event type: {type}, Event subject: {subject}", cloudEvent.Type, cloudEvent.Subject);
}
}
}
Tuto funkci Azure použijete jako obslužnou rutinu události pro odběr tématu později v tomto kurzu.
Poznámka:
- Vytvořte všechny prostředky ve stejné oblasti.
- Tento kurz byl testován pomocí funkce Azure, která používá zásobník modulu runtime .NET 8.0 (izolovaný).
Vytvoření tématu Event Gridu (vlastní téma)
Vytvořte téma Event Gridu. Viz Vytvoření vlastního tématu pomocí portálu. Při vytváření tématu Event Grid na kartě Upřesnit ve schématu událostí vyberte Schéma cloudové události v1.0.
Poznámka:
Schéma událostí cloudu můžete používat všude v tomto kurzu.
Přidání předplatného do tématu pomocí funkce
V tomto kroku vytvoříte odběr tématu Event Gridu pomocí funkce Azure, kterou jste vytvořili dříve.
Na stránce tématu Event Gridu vyberte odběry na levém navigačním panelu.
Na stránce Vytvořit odběr události proveďte následující kroky:
Na stránce Vybrat funkci Azure proveďte následující kroky:
Jako předplatné vyberte své předplatné Azure.
V části Skupina prostředků vyberte skupinu prostředků, která má vaši funkci Azure.
V případě aplikace funkcí vyberte aplikaci Functions, která tuto funkci obsahuje.
V případě slotu vyberte Produkční.
Jako funkci vyberte funkci Azure.
Pak vyberte Potvrdit výběr v dolní části stránky.
Na stránce Vytvořit odběr události vyberte Vytvořit.
Na stránce Odběry událostí byste měli vidět předplatné, které jste vytvořili.
Vytvoření oboru názvů, klientů, prostorů témat a vazeb oprávnění
Postupujte podle pokynů z rychlého startu: Publikování a přihlášení k odběru zpráv MQTT pomocí oboru názvů Event Gridu pomocí webu Azure Portal pro:
- Vytvořte obor názvů Event Gridu.
- Vytvořte dva klienty.
- Vytvořte prostor tématu.
- Vytvořte vazby oprávnění vydavatele a odběratele.
- Otestujte použití aplikace MQTTX a ověřte, že klienti můžou odesílat a přijímat zprávy.
Povolení spravované identity pro obor názvů
V této části povolíte spravovanou identitu přiřazenou systémem pro obor názvů Event Gridu. Potom udělte identitě oprávnění k odeslání vlastního tématu Event Gridu, které jste vytvořili dříve, aby bylo možné směrovat zprávu do vlastního tématu. Uděláte to tak, že přidáte spravovanou identitu do role Odesílatele dat Event Gridu ve vlastním tématu.
Na stránce Obor názvů služby Event Grid vyberte v levé navigační nabídce možnost Identita.
Přejděte do tématu Event Gridu pro vlastní téma Event Gridu.
Na levém navigačním panelu vyberte Řízení přístupu.
Na stránce Řízení přístupu vyberte Přidat a pak vyberte Přidat přiřazení role.
Na stránce Role v Průvodci přidáním přiřazení role vyberte roli Odesílatele dat event Gridu a v dolní části stránky vyberte Další.
Na stránce Členové v Průvodci přidáním přiřazení role vyberte Spravovaná identita a pak zvolte Vybrat členy.
Na stránce Vybrat spravované identity proveďte následující kroky:
Na stránce Přidat přiřazení role vyberte v dolní části stránky další.
Na stránce Zkontrolovat a přiřadit zkontrolujte nastavení a pak v dolní části stránky vyberte Zkontrolovat a přiřadit.
Konfigurace směrování zpráv do funkce Azure pomocí vlastního tématu
V tomto kroku nakonfigurujete směrování pro obor názvů služby Event Grid tak, aby se zprávy, které obdrží, směrovaly do vlastního tématu, které jste vytvořili.
Na stránce Obor názvů služby Event Grid vyberte Směrování na levém navigačním panelu.
Na stránce Směrování vyberte Povolit směrování.
Jako typ tématu vyberte Vlastní téma.
V části Téma vyberte vlastní téma, které jste vytvořili pro účely tohoto kurzu.
Jako spravovanou identitu pro doručení vyberte Přiřazený systém.
Vyberte Použít v dolní části stránky.
Odeslání testovacích zpráv MQTT pomocí MQTTX
Odešlete testovací zprávy MQTT do oboru názvů a potvrďte, že je funkce přijme.
Postupujte podle pokynů v článku o publikování a přihlášení k odběru zpráv pomocí článku aplikace MQTTX a odešlete několik testovacích zpráv do oboru názvů Event Gridu.
Tady je tok událostí nebo zpráv:
MQTTX odesílá zprávy do prostoru tématu oboru názvů Event Gridu.
Zprávy se přesměrují na vlastní téma, které jste nakonfigurovali.
Zprávy se přeposílají do odběru událostí, což je funkce Azure.
Pomocí funkce protokolování ověřte, že funkce přijala událost.
Další krok
Podívejte se na ukázky kódu v tomto úložišti GitHubu.