Sdílet prostřednictvím


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 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.

Snímek obrazovky znázorňující stránku Pokročilé v průvodci vytvořením tématu

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.

  1. Na stránce Téma Event Gridu vyberte Předplatné.

    Snímek obrazovky se stránkou Odběry událostí pro téma

  2. Na stránce Vytvořit odběr události proveďte následující kroky:

    1. Zadejte název odběru události.

    2. V případě schématu událostí vyberte schéma cloudové události 1.0.

    3. Jako typ koncového bodu vyberte funkci Azure Functions.

    4. Pak vyberte Konfigurovat koncový bod.

      Snímek obrazovky se stránkou Vytvořit odběr událostí

  3. Na stránce Vybrat funkci Azure proveďte následující kroky:

    1. Jako předplatné vyberte své předplatné Azure.

    2. V části Skupina prostředků vyberte skupinu prostředků, která má vaši funkci Azure.

    3. V případě aplikace funkcí vyberte aplikaci Functions, která tuto funkci obsahuje.

    4. Pro Slot vyberte Výroba.

    5. Jako funkci vyberte svoji Azure Function.

    6. Pak vyberte Potvrdit výběr.

      Snímek obrazovky znázorňující stránku Vybrat funkci Azure

  4. Na stránce Vytvořit odběr události vyberte Vytvořit.

  5. 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:

  1. Vytvořte jmenný prostor Event Grid.
  2. Vytvořte dva klienty.
  3. Vytvořte prostor tématu.
  4. Vytvořte vazby oprávnění vydavatele a odběratele.
  5. 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.

  1. Na stránce Event Grid Namespace vyberte Identita. Vyberte Zapnuto a pak Uložit.

    Snímek obrazovky znázorňující obor názvů Event Gridu s vybranou kartou Identita

  2. Přejděte do tématu Event Gridu pro vlastní téma Event Gridu.

  3. Na levém navigačním panelu vyberte Řízení přístupu .

  4. Na stránce Řízení přístupu vyberte Přidat a pak vyberte Přidat přiřazení role.

    Snímek obrazovky znázorňující stránku řízení přístupu

  5. Na stránce Role v průvodci Přidat přiřazení role vyberte roli Event Grid Data Sender a vyberte Další.

    Snímek obrazovky znázorňující stránku **Role** v průvodci **Přidat přiřazení role**

  6. V části Přidat přiřazení role na stránce Členové vyberte Spravovanou identitu a pak zvolte Vybrat členy.

    Snímek obrazovky se stránkou Členové v průvodci přidáním přiřazení role

  7. Na stránce Vybrat spravované identity proveďte následující kroky:

    1. Vyberte své předplatné Azure.

    2. Jako spravovanou identitu vyberte obor názvů Event Gridu.

    3. Vyberte spravovanou identitu, která má stejný název jako obor názvů Event Gridu.

    4. Zvolte Vybrat.

      Snímek obrazovky se stránkou Vybrat spravované identity

  8. Na stránce Přidat přiřazení role vyberte Další.

  9. 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.

  1. Na stránce Obor názvů Event Grid vyberte Směrování.

  2. Na stránce Směrování vyberte Povolit směrování.

  3. Jako typ tématu vyberte Vlastní téma.

  4. V části Téma vyberte vlastní téma, které jste vytvořili pro účely tohoto kurzu.

  5. Jako spravovanou identitu pro doručení vyberte Systémem přiřazená.

  6. Vyberte a použijte.

    Snímek obrazovky znázorňující stránku Směrování pro obor názvů

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:

  1. MQTTX odesílá zprávy do tématického prostoru v oboru názvů Event Grid.

  2. Zprávy se přesměrují na vlastní téma, které jste nakonfigurovali.

  3. Zprávy se přeposílají do odběru událostí, což je funkce Azure.

  4. Pomocí funkce protokolování ověřte, že funkce událost přijala.

    Snímek obrazovky znázorňující stránku streamu protokolu pro funkci Azure

Další krok