Dela via


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:

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