Dela via


REST API-specifikation för MQTT

Det här dokumentet klargör innebörden av WEB PubSub-dataplanets REST API i samband med MQTT. Den befintliga REST API-dokumentationen för Web PubSub fokuserar på Web PubSubs egna protokoll, vilket kan göra programmet till MQTT oklart.

Termmappningar

Börja med att bekanta dig med termen mappningar mellan Web PubSub och MQTT. Om du redan är bekant med dessa villkor kan du hoppa över det här avsnittet.

MQTT-termer Motsvarande Web PubSub-termer Relation
Server-/MQTT-koordinator Web PubSub Service Web PubSub-tjänsten fungerar som MQTT-mäklare för att hantera MQTT-anslutningar. Observera att vi vanligtvis använder termen server för att referera till den överordnade servern i stället för MQTT-koordinatorerna i dokumenten.
Session Connection Anslutning i Web PubSub är ett logiskt begrepp som representerar en tillståndskänslig relation mellan klienten och tjänsten, och en anslutning motsvarar en session. Vanligtvis är dessa två ord utbytbara.
Prenumerera på ett ämne Gå med i en grupp Dessa två åtgärder har samma effekt: klienten tar emot meddelanden från det ämnet eller gruppen. Ämnesnamnet är gruppnamnet.
Publicera meddelande till ett ämne Skicka meddelande till en grupp Dessa två åtgärder har samma effekt: klienten som prenumererar på det ämnet eller tillhör den gruppen får meddelandet
Client ID Anslutnings-ID Anslutnings-ID identifierar en anslutning till web pubSub. Vi använder klient-ID:t som anslutnings-ID för MQTT-anslutningar i Web PubSub.

Åtgärdsmappningar

En omfattande lista över tillgängliga åtgärder finns i REST API-referensen.

REST API-åtgärderna kategoriseras i följande grupper:

Var och en av dessa kategorier definieras nedan.

Åtgärder för meddelandesändning

REST API-åtgärd Effekt på MQTT
Skicka till grupp MQTT-anslutningar som prenumererar på ämnet med namnet med gruppnamnet får meddelandet.
Skicka till alla
Skicka till användare
Skicka till anslutning
Respektive MQTT-anslutningar får ett meddelande med ämnet $webpubsub/server/messages.

Meddelanden publiceras med en QoS på 1. QoS för mottagna meddelanden kan nedgraderas baserat på klienternas prenumerationsalternativ, enligt standardreglerna för MQTT-nedgradering.

Prenumerationshanteringsåtgärder

REST API-åtgärd Effekt på MQTT
Lägga till anslutningar till grupper
Lägg till anslutning till grupp
Lägger till en prenumeration för de angivna anslutningarna.
Lägg till användare i grupp Lägger till en prenumeration för alla anslutningar för den angivna användaren.
Ta bort anslutning från alla grupper
Ta bort anslutning från grupp
Ta bort anslutningar från grupper
Ta bort användare från alla grupper
Ta bort användare från grupp
Tar bort en eller alla prenumerationer för de angivna anslutningarna eller användarna.

Gruppnamnet motsvarar MQTT-ämnesfiltret. När du lägger till anslutningar eller användare i grupper används standardalternativ för MQTT-prenumerationer.

Åtgärder för behörighetshantering

Dessa åtgärder är enkla i samband med MQTT och därför ignoreras definitionen.

  • Kontrollera behörighet
  • Bevilja behörighet
  • Återkalla behörighet

Åtgärder för existenshantering

REST API-åtgärd Effekt på MQTT
Anslutningen finns
Gruppen finns
Användaren finns
Kontrollerar om det finns en session för den angivna anslutningen, användaren eller gruppen. Observera att detta skiljer sig från att kontrollera om en anslutning för närvarande är online.
Stäng alla anslutningar
Stäng gruppanslutningar
Stäng användaranslutningar
Avslutar de angivna sessionerna och avslutar motsvarande fysiska anslutningar.

Genereringsåtgärder för klienttoken

REST API-åtgärd Effekt på MQTT
Generera klienttoken Genererar anslutningstoken och URL:en för MQTT-klienter att ansluta.

Observera att MQTT-stöd är tillgängligt från REST API-versionen 2024-01-01. Du måste ange frågeparametern clientType=MQTT för MQTT-klienter.