• 8.04.2021
  • 8 minute de citit

In acest articol

Diferite evenimente din Azure Digital Twins produc notificari , care permit solutiei backend sa fie constienta atunci cand se intampla diferite actiuni. Acestea sunt apoi directionate catre diferite locatii in interiorul si in afara Azure Digital Twins, care pot utiliza aceste informatii pentru a lua masuri.

Exista mai multe tipuri de notificari care pot fi generate, iar mesajele de notificare pot arata diferit in functie de tipul de eveniment care le-a generat. Acest articol ofera detalii despre diferite tipuri de mesaje si despre cum ar putea arata.

Aceasta diagrama prezinta diferitele tipuri de notificari:

Tipul de notificare Numele sursei de rutare Generat din … Notificare schimbare digitala digitala Notificare schimbare digitala digitala Notificare orice modificare digitala a proprietatii gemene digitale Notificare digitala a ciclului de viata digitala Notificare digitala a ciclului de viata digitala orice operatiune de creare digitala sau stergere digitala Twin Notificare de modificare a relatiilor digitale Notificare digitala de modificare a relatiilor digitale schimbarea relatiei gemene Mesaje digitale digitale de telemetrie Mesaje de telemetrie Mesaje orice mesaj de telemetrie

Structura notificarii

In general, notificarile sunt alcatuite din doua parti: antetul si corpul.

Anteturile mesajelor de notificare sunt reprezentate cu perechi cheie-valoare. In functie de protocolul utilizat (MQTT, AMQP sau HTTP), antetele mesajelor vor fi serializate diferit. Aceasta sectiune discuta informatii generale despre antet pentru mesajele de notificare, indiferent de protocolul specific si serializarea aleasa.

Unele notificari sunt conforme cu standardul CloudEvents. Conformitatea CloudEvents este dupa cum urmeaza.

  • Notificarile emise de pe dispozitive continua sa respecte specificatiile existente pentru notificari
  • Notificarile procesate si emise de IoT Hub continua sa respecte specificatiile existente pentru notificare, cu exceptia cazului in care IoT Hub alege sa accepte CloudEvents, cum ar fi prin Event Grid
  • Notificarile emise de gemenii digitali cu un model sunt conforme cu CloudEvents
  • Notificarile procesate si emise de Azure Digital Twins sunt conforme cu CloudEvents

Serviciile trebuie sa adauge un numar de ordine la toate notificarile pentru a indica ordinea lor sau sa isi mentina propria comanda in alt mod.

Notificarile emise de Azure Digital Twins catre Event Grid vor fi formatate automat fie in schema CloudEvents, fie in schema EventGridEvent, in functie de tipul de schema definit in subiectul grilei de evenimente.

Atributele de extensie din anteturi vor fi adaugate ca proprietati in schema Event Grid din interiorul sarcinii utile.

Organisme de notificare a evenimentelor

Corpurile mesajelor de notificare sunt descrise aici in JSON. In functie de serializarea dorita pentru corpul mesajului (cum ar fi cu JSON, CBOR, Protobuf etc.), corpul mesajului poate fi serializat diferit.

Setul de campuri pe care le contine corpul variaza in functie de diferite tipuri de notificari.

Urmatoarele sectiuni intra in detaliu despre diferitele tipuri de notificari emise de IoT Hub si Azure Digital Twins (sau alte servicii Azure IoT). Veti citi despre lucrurile care declanseaza fiecare tip de notificare si despre setul de campuri incluse in fiecare tip de corp de notificare.

Notificari digitale de schimbare dubla

Notificarile privind modificarea digitala a gemenilor sunt declansate atunci cand se actualizeaza un geaman digital, cum ar fi:

  • Cand se modifica valorile proprietatilor sau metadatele.
  • Cand se modifica metadatele digitale gemene sau componente. Un exemplu al acestui scenariu este schimbarea modelului unui geaman digital.

Proprietati

Iata campurile din corpul unei notificari digitale de modificare dubla.

Nume Valoare id Identificator al notificarii, cum ar fi un UUID sau un contor mentinut de serviciu. sursa + id este unic pentru fiecare sursa de eveniment distincta Numele hub-ului IoT sau instantei Azure Digital Twins, cum ar fi myhub.azure-devices.net sau mydigitaltwins.westus2.azuredigitaltwins.net Un document JSON Patch care descrie actualizarea facuta pentru gemeni. Pentru detalii, consultati detaliile corpului de mai jos. specversion 1.0

Mesajul este conform cu aceasta versiune a spec. CloudEvents. tastati Microsoft.DigitalTwins.Twin.Update datacontenttype type application / json ID-ul subiectului timpului digital dublu Timestamp pentru momentul in care a avut loc operatia pe dublul digital traceparent Un context de urmarire W3C pentru eveniment

Detalii corp

In interiorul mesajului, campul de date contine un document JSON Patch care contine actualizarea la jumatatea digitala.

De exemplu, spuneti ca un geaman digital a fost actualizat folosind urmatorul patch.

[{“op”: “inlocuiti”, “valoare”: 40, “cale”: “/ Temperatura”}, {“op”: “adaugati”, “valoare”: 30, “cale”: “/ comp1 / prop1 “}]

Datele din notificarea corespunzatoare (daca sunt executate sincron de serviciu, cum ar fi Azure Digital Twins care actualizeaza un twin digital) ar avea un corp precum:

{“modelId”: “dtmi: exemplu: com: etaj4; 2”, “patch”: [{“valoare”: 40, “cale”: “/ Temperatura”, “op”: “inlocuiti”}, {“valoare “: 30,” path “:” / comp1 / prop1 “,” op “:” add “}]}

Aceasta este informatia care va intra in campul de date al mesajului de notificare a ciclului de viata.

Notificari digitale de ciclul de viata dublu

Toate gemenele digitale emit notificari, indiferent daca reprezinta sau nu dispozitive Hub IoT in Azure Digital Twins. Acest lucru se datoreaza notificarilor privind ciclul de viata , care se refera la geamanul digital in sine.

Notificarile privind ciclul de viata sunt declansate atunci cand:

  • Se creeaza un geaman digital
  • Un geaman digital este sters

Proprietati

Iata campurile din corpul unei notificari privind ciclul de viata.

Nume Valoare id Identificator al notificarii, cum ar fi un UUID sau un contor mentinut de serviciu. sursa + id este unic pentru fiecare eveniment distinct. sursa Numele hub-ului IoT sau al instantei Azure Digital Twins, cum ar fi myhub.azure-devices.net sau mydigitaltwins.westus2.azuredigitaltwins.net date Datele gemenei care se confrunta cu evenimentul ciclului de viata. Pentru detalii, consultati detaliile corpului de mai jos. specversion 1.

corridas dentro de la boca incesto lesbianas
voyeur playa mujeres tetudas
follando en el monte peliculas porno gay españolas
aventura en pelotas xxx porno rural
venezolanas desnudas peliculas porno de incesto gratis
chochitos jovenes abuelas incestos
mamadas españolas me follo a la madre de mi amigo
se deja follar masajes eroticos con final feliz
sexo en la playa nudista peliculas españolas porno
follada por muchos masturbacion en grupo
zoofila porno madre hijo español
abuelas incestos porno vitange
colegialas peludas coños por dentro
mamadas de españolas se follaron a mi mujer
follando en el campo follando en canarias
sexo videos gratis incestos jovencitas
nudismo porno descargar peliculas porno completas
maduras masturbandose nenas follando
española viciosa se corre en el coño de su madre
obliga a su hermana a follar esposas compartidas

0

Mesajul este conform cu aceasta versiune a spec. CloudEvents. tastati Microsoft.DigitalTwins.Twin.Create

Microsoft.DigitalTwins.Twin.Delete datacontenttype type application / json ID-ul subiectului timpului digital digital Timestamp pentru momentul in care a avut loc operatia pe traceparentul dublu Un context de urmarire W3C pentru eveniment

Detalii corp

Iata un exemplu de mesaj de notificare a ciclului de viata:

{“specversion”: “1.0”, “id”: “d047e992-dddc-4a5a-b0af-fa79832235f8”, “type”: “Microsoft.DigitalTwins.Twin.Create”, “source”: “contoso-adt.api. wus2.digitaltwins.azure.net “,” data “: {” $ dtId “:” floor1 “,” $ etag “:” W / \ “e398dbf4-8214-4483-9d52-880b61e491ec \” “,” $ metadate ” : {“$ model”: “dtmi: example: Floor; 1”}}, “subject”: “floor1”, “time”: “2020-06-23T19: 03: 48.9700792Z”, “datacontenttype”: “application / json “,” traceparent “:” 00-18f4e34b3e4a784aadf5913917537e7d-691a71e0a220d642-01 “}

In interiorul mesajului, campul de date contine datele gemenei digitale afectate, reprezentate in format JSON. Schema pentru aceasta este Digital Twins Resource 7.1 .

Pentru evenimentele de creatie, sarcina utila a datelor reflecta starea gemenului dupa ce resursa este creata, deci ar trebui sa includa toate elementele generate de sistem la fel ca un apel GET.

Iata un exemplu de date pentru un dispozitiv Plug and Play (PnP) IoT, cu componente si fara proprietati de nivel superior. Proprietatile care nu au sens pentru dispozitive (cum ar fi proprietatile raportate) ar trebui omise. Aceasta este informatia care va intra in campul de date al mesajului de notificare a ciclului de viata.

{“$ dtId”: “device-digitaltwin-01”, “$ etag”: “W / \” e59ce8f5-03c0-4356-aea9-249ecbdc07f9 \ “”, “thermostat”: {“temperature”: 80, “umiditate “: 45,” $ metadata “: {” $ model “:” dtmi: com: contoso: Termostat; 1 “,” temperature “: {” doritValor “: 85,” doritVersiune “: 3,” ackVersion “: 2, “ackCode”: 200, “ackDescription”: “OK”}, “umiditate”: {“doritValor”: 40, “doritVersiune”: 1, “ackVersion”: 1, “ackCode”: 200, “ackDescription”: “OK “}}},” $ metadata “: {” $ model “:” dtmi: com: contoso: Thermostat_X500; 1 “,}}

Iata un alt exemplu de date digitale gemene. Acesta se bazeaza pe un model si nu accepta componente:

{“$ dtId”: “logic-digitaltwin-01”, “$ etag”: “W / \” e59ce8f5-03c0-4356-aea9-249ecbdc07f9 \ “”, “avgTemperature”: 70, “comfortIndex”: 85, ” $ metadata “: {” $ model “:” dtmi: com: contoso: Building; 1 “,” avgTemperature “: {” wantedValue “: 72,” wantedVersion “: 5,” ackVersion “: 4,” ackCode “: 200 , “ackDescription”: “OK”}, “comfortIndex”: {“wantedValue”: 90, “wantedVersion”: 1, “ackVersion”: 3, “ackCode”: 200, “ackDescription”: “OK”}}}

Notificari de schimbare a relatiei gemene digitale

Notificarile de modificare a relatiei sunt declansate atunci cand orice relatie a unui geaman digital este creata, actualizata sau stearsa.

Proprietati

Iata campurile din corpul unei notificari de modificare a relatiei.

Nume Valoare id Identificator al notificarii, cum ar fi un UUID sau un contor mentinut de serviciu. source + id este unic pentru fiecare sursa de eveniment distincta Numele instantei Azure Digital Twins, cum ar fi datele mydigitaltwins.westus2.azuredigitaltwins.net Sarcina utila a relatiei care a fost modificata. Pentru detalii, consultati detaliile corpului de mai jos. specversion 1.0

Mesajul este conform cu aceasta versiune a spec. CloudEvents. tastati Microsoft.DigitalTwins.Relationship.Create

Microsoft.DigitalTwins.Relationship.Update

Microsoft.DigitalTwins.Relationship.Delete datacontenttype type application / json ID-ul subiectului relatiei, cum ar fi <twin-ID> / relations / <relationshipID> Timestamp pentru momentul in care a avut loc operatia pe relatia traceparent Un context de urmarire W3C pentru eveniment

Detalii corp

In interiorul mesajului, campul de date contine sarcina utila a unei relatii, in format JSON. Foloseste acelasi format ca o solicitare GET pentru o relatie prin intermediul API-ului DigitalTwins.

Iata un exemplu de date pentru o notificare de relatie de actualizare. „Actualizarea unei relatii” inseamna ca proprietatile relatiei s-au schimbat, astfel incat datele arata proprietatea actualizata si noua sa valoare. Aceasta este informatia care va intra in campul de date al mesajului de notificare a relatiei gemene digitale.

{“modelId”: “dtmi: exemplu: Floor; 1”, “patch”: [{“value”: “user3”, “path”: “/ possessionUser”, “op”: “replace”}]}

Iata un exemplu de date pentru o notificare de relatie de creare sau stergere. Pentru Relationship.Delete, corpul este acelasi cu cererea GET si primeste cea mai recenta stare inainte de stergere.

{“$ relationId”: “device_to_device”, “$ etag”: “W / \” 72479873-0083-41a8-83e2-caedb932d881 \ “”, “$ relationName”: “Conectat”, “$ targetId”: “device2” , “connectionType”: “WIFI”}

Mesaje digitale digitale de telemetrie

Mesajele de telemetrie sunt primite in Azure Digital Twins de la dispozitivele conectate care colecteaza si trimit masuratori.

Proprietati

Iata campurile din corpul unui mesaj de telemetrie.

Nume Valoare id Identificator al notificarii, care este furnizat de client la apelarea API-ului de telemetrie. sursa Numele complet calificat al gemenului caruia i-a fost trimis evenimentul de telemetrie. Foloseste urmatorul format: <institutia-Doua-Twin-> .api. <regiunea-dvs.> .digitaltwins.azure.net / <ID-diplot>. specversion 1.0

Mesajul este conform cu aceasta versiune a spec. CloudEvents. tastati microsoft.iot.telemetry data Mesajul de telemetrie care a fost trimis gemenilor. Sarcina utila este nemodificata si este posibil sa nu se alinieze la schema geamanului caruia i s-a trimis telemetria. schema de date Schema de date este ID-ul modelului gemenului sau al componentei care emite telemetria. De exemplu, dtmi: exemplu: com: etaj4; 2. datacontenttype application / json traceparent Un context de urmarire W3C pentru eveniment.

Detalii corp

Corpul contine masurarea telemetriei impreuna cu unele informatii contextuale despre dispozitiv.

Iata un exemplu de corp al mesajului de telemetrie:

{“specversion”: “1.0”, “id”: “df5a5992-817b-4e8a-b12c-e0b18d4bf8fb”, “type”: “microsoft.iot.telemetry”, “source”: “contoso-adt.api.wus2. digitaltwins.azure.net/digitaltwins/room1 “,” data “: {” Temperature “: 10},” dataschema “:” dtmi: example: com: floor4; 2 “,” datacontenttype “:” application / json “,” traceparent “:” 00-7e3081c6d3edfb4eaf7d3244b2036baa-23d762f4d9f81741-01 “}

Pasii urmatori

Aflati despre livrarea evenimentelor catre diferite destinatii, folosind puncte finale si rute:

  • Concepte: trasee de evenimente