Egress och slutpunkter i Azure Digital Twins
Viktigt
En ny version av Azure Digital Twins-tjänsten har släppts. Mot bakgrund av den nya tjänstens utökade funktioner har den ursprungliga Azure Digital Twins-tjänsten (beskrivs i den här dokumentationsuppsättningen) dragits tillbaka.
Om du vill visa dokumentationen för den nya tjänsten går du till den aktiva Azure Digital Twins-dokumentationen.
Azure Digital Twins-slutpunkter representerar ett meddelande eller en händelsekoordinator i en användares Azure-prenumeration. Händelser och meddelanden kan skickas till Azure Event Hubs, Azure Event Grid och Azure Service Bus ämnen.
Händelser dirigeras till slutpunkter enligt fördefinierade routningsinställningar. Användare anger vilka händelsetyper varje slutpunkt kan ta emot.
Mer information om händelser, routning och händelsetyper finns i Routningshändelser och meddelanden i Azure Digital Twins.
Händelser
Händelser skickas av IoT-objekt (till exempel enheter och sensorer) för bearbetning av Azure-meddelande- och händelsekoordinatorer. Händelser definieras av följande Azure Event Grid händelseschemareferens.
{
"id": "00000000-0000-0000-0000-000000000000",
"subject": "ExtendedPropertyKey",
"data": {
"SpacesToNotify": [
"3a16d146-ca39-49ee-b803-17a18a12ba36"
],
"Id": "00000000-0000-0000-0000-000000000000",
"Type": "ExtendedPropertyKey",
"AccessType": "Create"
},
"eventType": "TopologyOperation",
"eventTime": "2018-04-17T17:41:54.9400177Z",
"dataVersion": "1",
"metadataVersion": "1",
"topic": "/subscriptions/YOUR_TOPIC_NAME"
}
Attribut | Typ | Description |
---|---|---|
id | sträng | Unik identifierare för händelsen. |
Ämne | sträng | Utgivardefinierad sökväg till händelseobjektet. |
data | objekt | Händelsedata som är specifika för resursprovidern. |
Händelsetyp | sträng | En av de registrerade händelsetyperna för den här händelsekällan. |
Händelsetid | sträng | Den tid då händelsen genereras baserat på leverantörens UTC-tid. |
Dataversion | sträng | Dataobjektets schemaversion. Utgivaren definierar schemaversion. |
Metadataversion | sträng | Schemaversionen av händelsens metadata. Event Grid definierar schemat för de översta egenskaperna. Event Grid ger det här värdet. |
ämne | sträng | Fullständig resurssökväg till händelsekällan. Det här fältet kan inte skrivas. Event Grid ger det här värdet. |
Mer information om Event Grid-händelseschemat:
- Granska Azure Event Grid händelseschemareferens.
- Läs referensen för Azure EventGrid Node.js SDK EventGridEvent.
Händelsetyper
Händelsetyper klassificerar händelsens natur och anges i fältet eventType . Tillgängliga händelsetyper anges i följande lista:
- TopologiOperation
- UdfCustom
- SensorChange
- SpaceChange
- DeviceMessage
Händelseformaten för varje händelsetyp beskrivs ytterligare i följande underavsnitt.
TopologiOperation
TopologyOperation gäller för grafändringar. Ämnesegenskapen anger vilken typ av objekt som påverkas. Följande typer av objekt kan utlösa den här händelsen:
- Enhet
- DeviceBlobMetadata
- DeviceExtendedProperty
- ExtendedPropertyKey
- ExtendedType
- Keystore
- Rapport
- RoleDefinition
- Sensor
- SensorBlobMetadata
- SensorExtendedProperty
- Space
- SpaceBlobMetadata
- SpaceExtendedProperty
- SpaceResource
- SpaceRoleAssignment
- System
- Användare
- UserBlobMetadata
- UserExtendedProperty
Exempel
{
"id": "00000000-0000-0000-0000-000000000000",
"subject": "ExtendedPropertyKey",
"data": {
"SpacesToNotify": [
"3a16d146-ca39-49ee-b803-17a18a12ba36"
],
"Id": "00000000-0000-0000-0000-000000000000",
"Type": "ExtendedPropertyKey",
"AccessType": "Create"
},
"eventType": "TopologyOperation",
"eventTime": "2018-04-17T17:41:54.9400177Z",
"dataVersion": "1",
"metadataVersion": "1",
"topic": "/subscriptions/YOUR_TOPIC_NAME"
}
Värde | Ersätt med |
---|---|
YOUR_TOPIC_NAME | Namnet på ditt anpassade ämne |
UdfCustom
UdfCustom är en händelse som skickas av en användardefinierad funktion (UDF).
Viktigt
Den här händelsen måste uttryckligen skickas från själva UDF:n.
Exempel
{
"id": "568fd394-380b-46fa-925a-ebb96f658cce",
"subject": "UdfCustom",
"data": {
"TopologyObjectId": "7c799bfc-1bff-4b9e-b15a-669933969d20",
"ResourceType": "Space",
"Payload": "\"Room is not available or air quality is poor\"",
"CorrelationId": "568fd394-380b-46fa-925a-ebb96f658cce"
},
"eventType": "UdfCustom",
"eventTime": "2018-10-02T06:50:15.198Z",
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/YOUR_TOPIC_NAME"
}
Värde | Ersätt med |
---|---|
YOUR_TOPIC_NAME | Namnet på ditt anpassade ämne |
SensorChange
SensorChange är en uppdatering av en sensors tillstånd baserat på telemetriändringar.
Exempel
{
"id": "60bf5336-2929-45b4-bb4c-b45699dfe95f",
"subject": "SensorChange",
"data": {
"Type": "Classic",
"DataType": "Motion",
"Id": "60bf5336-2929-45b4-bb4c-b45699dfe95f",
"Value": "False",
"PreviousValue": "True",
"EventTimestamp": "2018-04-17T17:46:15.4964262Z",
"MessageType": "sensor",
"Properties": {
"ms-client-request-id": "c9e576b7-5eea-4f61-8617-92a57add5179",
"ms-activity-id": "ct22YwXEGJ5u.605.0"
}
},
"eventType": "SensorChange",
"eventTime": "2018-04-17T17:46:18.5452993Z",
"dataVersion": "1",
"metadataVersion": "1",
"topic": "/subscriptions/YOUR_TOPIC_NAME"
}
Värde | Ersätt med |
---|---|
YOUR_TOPIC_NAME | Namnet på ditt anpassade ämne |
SpaceChange
SpaceChange är en uppdatering av ett utrymmes tillstånd baserat på telemetriändringar.
Exempel
{
"id": "42522e10-b1aa-42ff-a5e7-7181788ffc4b",
"subject": "SpaceChange",
"data": {
"Type": null,
"DataType": "AvailableAndFresh",
"Id": "7c799bfc-1bff-4b9e-b15a-669933969d20",
"Value": "Room is not available or air quality is poor",
"PreviousValue": null,
"RawData": null,
"transactionId": null,
"EventTimestamp": null,
"MessageType": null,
"Properties": null,
"CorrelationId": "42522e10-b1aa-42ff-a5e7-7181788ffc4b"
},
"eventType": "SpaceChange",
"eventTime": "2018-10-02T06:50:20.128Z",
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/YOUR_TOPIC_NAME"
}
Värde | Ersätt med |
---|---|
YOUR_TOPIC_NAME | Namnet på ditt anpassade ämne |
DeviceMessage
Genom att använda DeviceMessage kan du ange en EventHub-anslutning som råtelemetrihändelser kan dirigeras till och från Azure Digital Twins.
Anteckning
- DeviceMessage kan endast kombineras med EventHub. Du kan inte kombinera DeviceMessage med någon av de andra händelsetyperna.
- Du kan bara ange en slutpunkt för kombinationen av typen EventHub eller DeviceMessage.
Konfigurera slutpunkter
Slutpunktshantering utförs via Slutpunkts-API:et.
I exemplen nedan YOUR_MANAGEMENT_API_URL
refererar till URI för Digital Twins-API:erna:
https://YOUR_INSTANCE_NAME.YOUR_LOCATION.azuresmartspaces.net/management/api/v1.0
Name | Ersätt med |
---|---|
YOUR_INSTANCE_NAME | Namnet på din Azure Digital Twins-instans |
YOUR_LOCATION | Den region som din instans finns på |
Följande exempel visar hur du konfigurerar de slutpunkter som stöds.
Viktigt
Var uppmärksam på attributet eventTypes . Den definierar vilka händelsetyper som hanteras av slutpunkten och fastställer därmed dess routning.
En autentiserad HTTP POST-begäran mot:
YOUR_MANAGEMENT_API_URL/endpoints
Dirigera till Service Bus händelsetyperna SensorChange, SpaceChange och TopologyOperation:
{ "type": "ServiceBus", "eventTypes": [ "SensorChange", "SpaceChange", "TopologyOperation" ], "connectionString": "Endpoint=sb://YOUR_NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=YOUR_PRIMARY_KEY", "secondaryConnectionString": "Endpoint=sb://YOUR_NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=YOUR_SECONDARY_KEY", "path": "YOUR_TOPIC_NAME" }
Värde Ersätt med YOUR_NAMESPACE Namnområdet för slutpunkten YOUR_PRIMARY_KEY Den primära anslutningssträngen som används för att autentisera YOUR_SECONDARY_KEY Den sekundära anslutningssträngen som används för att autentisera YOUR_TOPIC_NAME Namnet på ditt anpassade ämne Dirigera till Event Grid-händelsetyperna SensorChange, SpaceChange och TopologyOperation:
{ "type": "EventGrid", "eventTypes": [ "SensorChange", "SpaceChange", "TopologyOperation" ], "connectionString": "YOUR_PRIMARY_KEY", "secondaryConnectionString": "YOUR_SECONDARY_KEY", "path": "YOUR_TOPIC_NAME.westus-1.eventgrid.azure.net" }
Värde Ersätt med YOUR_PRIMARY_KEY Den primära anslutningssträngen som används för att autentisera YOUR_SECONDARY_KEY Den sekundära anslutningssträngen som används för att autentisera YOUR_TOPIC_NAME Namnet på ditt anpassade ämne Dirigera till Event Hubs-händelsetyperna SensorChange, SpaceChange och TopologyOperation:
{ "type": "EventHub", "eventTypes": [ "SensorChange", "SpaceChange", "TopologyOperation" ], "connectionString": "Endpoint=sb://YOUR_NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=YOUR_PRIMARY_KEY", "secondaryConnectionString": "Endpoint=sb://YOUR_NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=YOUR_SECONDARY_KEY", "path": "YOUR_EVENT_HUB_NAME" }
Värde Ersätt med YOUR_NAMESPACE Namnområdet för slutpunkten YOUR_PRIMARY_KEY Den primära anslutningssträngen som används för att autentisera YOUR_SECONDARY_KEY Den sekundära anslutningssträngen som används för att autentisera YOUR_EVENT_HUB_NAME Namnet på din händelsehubb Dirigera till händelsetypen Event Hubs DeviceMessage. Inkluderingen av
EntityPath
i connectionString är obligatorisk:{ "type": "EventHub", "eventTypes": [ "DeviceMessage" ], "connectionString": "Endpoint=sb://YOUR_NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=YOUR_PRIMARY_KEY;EntityPath=YOUR_EVENT_HUB_NAME", "secondaryConnectionString": "Endpoint=sb://YOUR_NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=YOUR_SECONDARY_KEY;EntityPath=YOUR_EVENT_HUB_NAME", "path": "YOUR_EVENT_HUB_NAME" }
Värde Ersätt med YOUR_NAMESPACE Namnområdet för slutpunkten YOUR_PRIMARY_KEY Den primära anslutningssträngen som används för att autentisera YOUR_SECONDARY_KEY Den sekundära anslutningssträngen som används för att autentisera YOUR_EVENT_HUB_NAME Namnet på din händelsehubb
Anteckning
När en ny slutpunkt skapas kan det ta upp till 5 till 10 minuter att börja ta emot händelser på slutpunkten.
Primära och sekundära anslutningsnycklar
När en primär anslutningsnyckel blir obehörig försöker systemet automatiskt med den sekundära anslutningsnyckeln. Det ger en säkerhetskopia och gör det möjligt att korrekt autentisera och uppdatera primärnyckeln via SLUTpunkts-API:et.
Om både de primära och sekundära anslutningsnycklarna är obehöriga anger systemet en exponentiell väntetid på upp till 30 minuter. Händelser tas bort på varje utlöst väntetid för säkerhetskopiering.
När systemet är i ett väntetillstånd kan det ta upp till 30 minuter att uppdatera anslutningsnycklar via SLUTpunkts-API:et.
Slutpunkter som inte kan nås
När en slutpunkt inte kan nås anger systemet en exponentiell väntetid på upp till 30 minuter. Händelser tas bort på varje utlöst väntetid för säkerhetskopiering.
Nästa steg
Läs mer om routning av händelser och meddelanden i Azure Digital Twins.