Jämför meddelanderoutning och Event Grid för IoT Hub

Azure IoT Hub ger möjlighet att strömma data från dina anslutna enheter och integrera dessa data i dina affärsprogram. IoT Hub erbjuder två metoder för att integrera IoT-händelser i andra Azure-tjänster eller företagsprogram. I den här artikeln beskrivs de två funktioner som tillhandahåller den här funktionen, så att du kan välja vilket alternativ som är bäst för ditt scenario.

Kommentar

Några av de funktioner som nämns i den här artikeln, t.ex. moln till enhet-meddelanden, enhetstvillingar och enhetshantering, är bara tillgängliga på IoT Hubs standardnivå. Mer information om de grundläggande och standard-/kostnadsfria IoT Hub-nivåerna finns i Välj rätt IoT Hub-nivå för din lösning.

IoT Hub-meddelanderoutning: Med den här IoT Hub-funktionen kan användare dirigera meddelanden från enhet till moln till tjänstslutpunkter som Azure Storage-containrar, Event Hubs, Service Bus-köer och Service Bus-ämnen. Routning ger också en frågefunktion för att filtrera data innan de dirigeras till slutpunkterna. Förutom enhetstelemetridata kan du även dirigera icke-telemetrihändelser och använda dem för att utlösa åtgärder.

IoT Hub-integrering med Event Grid: Azure Event Grid är en fullständigt hanterad händelseroutningstjänst som använder en publiceringsprenumereringsmodell. IoT Hub och Event Grid samarbetar för att integrera IoT Hub-händelser i Azure- och icke-Azure-tjänster i nästan realtid. IoT Hub publicerar både enhetshändelser och telemetrihändelser.

Skillnad

Även om både meddelanderoutning och Event Grid aktiverar aviseringskonfiguration finns det några viktiga skillnader mellan de två. Mer information finns i följande tabell:

Funktion IoT Hub-meddelanderoutning IoT Hub-integrering med Event Grid
Enhetsmeddelanden och händelser Ja, meddelanderoutning stöder telemetridata, enhetstvillingändringar, händelser i enhetens livscykel, ändringshändelser för digital tvilling och händelser för enhetsanslutningstillstånd. Ja, Event Grid stöder telemetridata och enhetshändelser som enhet som skapats/tagits bort/anslutits/kopplats från. Event Grid stöder dock inte ändringshändelser för enhetstvillingar och ändringshändelser för digitala tvillingar.
Beställning Ja, meddelandedirigering upprätthåller händelseordningen. Nej, Event Grid garanterar inte ordningen på händelser.
Filtrering Omfattande filtrering av egenskaper för meddelandeprogram, egenskaper för meddelandesystem, meddelandetext, enhetstvillingtaggar och egenskaper för enhetstvillingar. Filtrering tillämpas inte på ändringshändelser för digitala tvillingar. Exempel finns i Frågesyntax för meddelanderoutning. Filtrering baserat på händelsetyp, ämnestyp och attribut i varje händelse. Exempel finns i Förstå filtreringshändelser i Event Grid-prenumerationer. När du prenumererar på telemetrihändelser kan du använda filter på data för att filtrera efter meddelandeegenskaper, meddelandetext och enhetstvilling i din IoT Hub innan du publicerar till Event Grid. Se hur du filtrerar händelser.
Slutpunkter
  • Event Hubs
  • Azure Blob Storage
  • Service Bus-kö
  • Service Bus-avsnitt
  • Cosmos DB

Betalda SKU:er för IoT Hub (S1, S2 och S3) kan ha 10 anpassade slutpunkter och 100 vägar per IoT Hub.
  • Azure Functions
  • Azure Automation
  • Event Hubs
  • Logic Apps
  • Storage Blob
  • Anpassade ämnen
  • Queue Storage
  • Power Automate
  • Tjänster från tredje part via WebHooks

Event Grid stöder 500 slutpunkter per IoT Hub. Den senaste listan över slutpunkter finns i Event Grid-händelsehanterare.
Kostnad Det finns ingen separat avgift för meddelanderoutning. Endast inkommande telemetri till IoT Hub debiteras. Om du till exempel har ett meddelande som dirigeras till tre olika slutpunkter debiteras du bara för ett meddelande. IoT Hub debiteras inte. Event Grid erbjuder de första 100 000 åtgärderna per månad kostnadsfritt och sedan 0,60 USD per miljon åtgärder efteråt.

Likheter

IoT Hub-meddelanderoutning och Event Grid har också likheter, varav några beskrivs i följande tabell:

Funktion IoT Hub-meddelanderoutning IoT Hub-integrering med Event Grid
Maximal meddelandestorlek 256 KB, enhet till moln 256 KB, enhet till moln
Tillförlitlighet Hög: Levererar varje meddelande till slutpunkten minst en gång för varje väg. Upphör att gälla för alla meddelanden som inte levereras inom en timme. Hög: Levererar varje meddelande till webhooken minst en gång för varje prenumeration. Upphör att gälla för alla händelser som inte levereras inom 24 timmar.
Skalbarhet Hög: Optimerad för att stödja miljontals samtidigt anslutna enheter som skickar miljarder meddelanden. Hög: Kan dirigera 10 000 000 händelser per sekund per region.
Svarstider Låg: Nästan realtid. Låg: Nästan realtid.
Skicka till flera slutpunkter Ja, skicka ett enda meddelande till flera slutpunkter. Ja, skicka ett enda meddelande till flera slutpunkter.
Säkerhet Iot Hub tillhandahåller identitet per enhet och återkallningsbar åtkomstkontroll. Mer information finns i åtkomstkontrollen för IoT Hub. Event Grid tillhandahåller validering på tre punkter: händelseprenumerationer, händelsepublicering och webhook-händelseleverans. Mer information finns i Säkerhet och autentisering för Event Grid.

Så här väljer du

IoT Hub-meddelanderoutning och IoT Hub-integrering med Event Grid utför olika åtgärder för att uppnå liknande resultat. De tar både information från din IoT Hub-lösning och vidarebefordrar den så att andra tjänster kan reagera. Så hur bestämmer du vilken som ska användas? Tänk på följande frågor som hjälper dig att vägleda ditt beslut:

  • Vilken typ av data skickar du till slutpunkterna?

    Använd IoT Hub-meddelanderoutning när du måste skicka telemetridata till andra tjänster. Med meddelanderoutning kan du även köra frågor mot meddelandeprogram och systemegenskaper, meddelandetext, enhetstvillingtaggar och egenskaper för enhetstvillingar.

    IoT Hub-integreringen med Event Grid fungerar med händelser som inträffar i IoT Hub-tjänsten. Dessa IoT Hub-händelser omfattar telemetridata, enhet som skapats, tagits bort, anslutits och kopplats från. När du prenumererar på telemetrihändelser kan du använda ytterligare filter på data för att filtrera efter meddelandeegenskaper, meddelandetext och enhetstvilling i din IoT Hub innan du publicerar till Event Grid. Se hur du filtrerar händelser.

  • Vilka slutpunkter behöver ta emot den här informationen?

    IoT Hub-meddelanderoutning stöder begränsat antal unika slutpunkter och slutpunktstyper, men du kan skapa anslutningsappar för att omdirigera data och händelser till ytterligare slutpunkter. En fullständig lista över slutpunkter som stöds finns i tabellen i föregående avsnitt.

    IoT Hub-integreringen med Event Grid stöder 500 slutpunkter per IoT Hub och en större mängd olika slutpunktstyper. Den integreras internt med Azure Functions-, Logic Apps-, Storage- och Service Bus-köer och fungerar även med webhooks för att utöka sändningsdata utanför Azure-tjänstens ekosystem och i affärsprogram från tredje part.

  • Spelar det någon roll om dina data kommer i ordning?

    IoT Hub-meddelanderoutning upprätthåller den ordning i vilken meddelanden skickas, så att de anländer på samma sätt.

    Event Grid garanterar inte att slutpunkter tar emot händelser i samma ordning som de inträffade. För de fall där den absoluta ordningen på meddelanden är betydande och/eller där en konsument behöver en tillförlitlig unik identifierare för meddelanden rekommenderar vi att du använder meddelanderoutning.

Nästa steg