Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto návodu budete směrovat zprávy MQTT přijaté prostřednictvím oboru názvů Azure Event Grid do funkce Azure pomocí vlastního tématu služby Event Grid.
Pokud nemáte předplatné Azure, 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.
Důležité
Vytvořte všechny prostředky ve stejné oblasti.
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:
Tato výuka byla testována s funkcí Azure, která používá běhové prostředí .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í webu Azure Portal. 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 cloudových událostí v1.0 můžete použít 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éma Event Gridu vyberte Předplatné.
Na stránce Vytvořit odběr události proveďte následující kroky:
Zadejte název odběru události.
V případě schématu událostí vyberte schéma cloudové události 1.0.
Jako typ koncového bodu vyberte funkci Azure Functions.
Pak vyberte Konfigurovat koncový bod.
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.
Pro Slot vyberte Výroba.
Jako funkci vyberte svoji Azure Function.
Pak vyberte Potvrdit výběr.
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í namespace, klientů, prostorů témat a přiřazení oprávnění
Postupujte podle pokynů z Rychlý start: Publikování a přihlášení k odběru zpráv MQTT s oborem názvů Event Grid na webu Azure Portal pro:
- Vytvořte jmenný prostor Event Grid.
- 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.
Povolit spravovanou identitu pro obor názvů
V této části povolíte systémem přiřazenou spravovanou identitu pro obor názvů Event Grid. Poté udělte identitě oprávnění k odeslání na vlastní téma Event Gridu. Potom může směrovat zprávu do vlastního tématu. Povolíte ji přidáním spravované identity do role Odesílatele dat Event Gridu v rámci vlastního tématu.
Na stránce Event Grid Namespace vyberte Identita. Vyberte Zapnuto a pak Uložit.
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řidat přiřazení role vyberte roli Event Grid Data Sender a vyberte Další.
V části Přidat přiřazení role na stránce Členové vyberte Spravovanou identitu a pak zvolte Vybrat členy.
Na stránce Vybrat spravované identity proveďte následující kroky:
Vyberte své předplatné Azure.
Jako spravovanou identitu vyberte obor názvů Event Gridu.
Vyberte spravovanou identitu, která má stejný název jako obor názvů Event Gridu.
Zvolte Vybrat.
Na stránce Přidat přiřazení role vyberte Další.
Na stránce Zkontrolovat a přiřadit zkontrolujte nastavení a pak vyberte Zkontrolovat a přiřadit.
Konfigurace směrování zpráv do funkce Azure pomocí vlastního tématu
V této části nakonfigurujte 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ů Event Grid vyberte Směrování.
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 Systémem přiřazená.
Vyberte a použijte.
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ů od publikování a přihlášení k odběru pomocí aplikace MQTTX a odešlete několik testovacích zpráv do jmenného prostoru Event Grid.
Tady je tok událostí nebo zpráv:
MQTTX odesílá zprávy do tématického prostoru v oboru názvů Event Grid.
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 událost přijala.