Exportieren von IoT-Daten zu Cloudzielen mithilfe des DatenexportsExport IoT data to cloud destinations using data export

Hinweis

In diesem Artikel werden die Features für den Datenexport in IoT Central beschrieben.This article describes the data export features in IoT Central. Informationen zu den Features für den Legacy-Datenexport finden Sie unter Exportieren von IoT-Daten zu Cloudzielen mithilfe des Datenexports (Legacy).For information about the legacy data export features, see Export IoT data to cloud destinations using data export (legacy).

In diesem Artikel wird beschrieben, wie Sie das neue Datenexportfeature in Azure IoT Central verwenden können.This article describes how to use the new data export feature in Azure IoT Central. Verwenden Sie dieses Feature für den fortlaufenden Export von gefilterten und angereicherten IoT-Daten aus Ihrer IoT Central-Anwendung.Use this feature to continuously export filtered and enriched IoT data from your IoT Central application. Beim Datenexport werden Änderungen nahezu in Echtzeit in andere Teile Ihrer Cloudlösung gepusht, damit Sie umsetzbare Einblicke, Analyseergebnisse und Speicherinformationen erhalten.Data export pushes changes in near real time to other parts of your cloud solution for warm-path insights, analytics, and storage.

Beispielsweise können Sie folgende Aktionen ausführen:For example, you can:

  • Fortlaufendes Exportieren von Telemetriedaten und Eigenschaftsänderungen im JSON-Format nahezu in Echtzeit.Continuously export telemetry data and property changes in JSON format in near-real time.
  • Filtern der Datenströme zum Exportieren von Daten, die die benutzerdefinierten Bedingungen erfüllen.Filter the data streams to export data that matches custom conditions.
  • Anreichern der Datenströme mit benutzerdefinierten Werten und Eigenschaftswerten aus dem Gerät.Enrich the data streams with custom values and property values from the device.
  • Senden der Daten an Ziele wie Azure Event Hubs, Azure Service Bus, Azure Blob Storage und Webhookendpunkte.Send the data to destinations such as Azure Event Hubs, Azure Service Bus, Azure Blob Storage, and webhook endpoints.

Tipp

Wenn Sie den Datenexport aktivieren, erhalten Sie nur die Daten ab dem jeweiligen Aktivierungszeitpunkt.When you turn on data export, you get only the data from that moment onward. Momentan können Daten nicht für Zeiten abgerufen werden, in denen der Datenexport deaktiviert war.Currently, data can't be retrieved for a time when data export was off. Wenn Sie mehr Verlaufsdaten beibehalten möchten, aktivieren Sie den Datenexport frühzeitig.To retain more historical data, turn on data export early.

VoraussetzungenPrerequisites

Damit Sie die Datenexportfeatures verwenden können, müssen Sie eine V3-Anwendung haben und über die Berechtigung Datenexport verfügen.To use data export features, you must have a V3 application, and you must have the Data export permission.

Wenn Sie eine V2-Anwendung haben, lesen Sie Migrieren Ihrer V2-IoT Central-Anwendung zu V3.If you have a V2 application, see Migrate your V2 IoT Central application to V3.

Einrichten des ExportzielsSet up export destination

Ihr Exportziel muss vorhanden sein, bevor Sie Ihren Datenexport konfigurieren.Your export destination must exist before you configure your data export. Die folgenden Zieltypen sind zurzeit verfügbar:The following destination types are currently available:

  • Azure Event HubsAzure Event Hubs
  • Azure Service Bus-WarteschlangeAzure Service Bus queue
  • Azure Service Bus-ThemaAzure Service Bus topic
  • Azure Blob StorageAzure Blob Storage
  • WebhookWebhook

Erstellen eines Event Hubs-ZielsCreate an Event Hubs destination

Wenn Sie keinen vorhandenen Event Hubs-Namespace als Exportziel haben, führen Sie die folgenden Schritte aus:If you don't have an existing Event Hubs namespace to export to, follow these steps:

  1. Erstellen Sie einen neuen Event Hubs-Namespace im Azure-Portal.Create a new Event Hubs namespace in the Azure portal. Weitere Informationen erhalten Sie in der Azure Event Hubs-Dokumentation.You can learn more in Azure Event Hubs docs.

  2. Erstellen Sie einen Event Hub in Ihrem Event Hubs-Namespace.Create an event hub in your Event Hubs namespace. Wechseln Sie zu Ihrem Namespace, und wählen Sie oben + Event Hub aus, um eine Event Hub-Instanz zu erstellen.Go to your namespace, and select + Event Hub at the top to create an event hub instance.

  3. Generieren Sie einen Schlüssel, der verwendet werden soll, wenn Sie Ihren Datenexport in IoT Central einrichten:Generate a key to use when you to set up your data export in IoT Central:

    • Wählen Sie die von Ihnen erstellte Event Hub-Instanz aus.Select the event hub instance you created.
    • Wählen Sie Einstellungen > Richtlinien für gemeinsamen Zugriff aus.Select Settings > Shared access policies.
    • Erstellen Sie einen neuen Schlüssel, oder wählen Sie einen vorhandenen Schlüssel aus, der über Berechtigungen zum Senden verfügt.Create a new key or choose an existing key that has Send permissions.
    • Kopieren Sie die primäre oder die sekundäre Verbindungszeichenfolge.Copy either the primary or secondary connection string. Mithilfe dieser Verbindungszeichenfolge richten Sie ein neues Ziel in IoT Central ein.You use this connection string to set up a new destination in IoT Central.
    • Alternativ können Sie eine Verbindungszeichenfolge für den gesamten Event Hubs-Namespace generieren:Alternatively, you can generate a connection string for the entire Event Hubs namespace:
      1. Wechseln Sie im Azure-Portal zu Ihrem Event Hubs-Namespace.Go to your Event Hubs namespace in the Azure portal.
      2. Wählen Sie unter Einstellungen die Option Freigegebene Zugriffsrichtlinien aus.Under Settings, select Shared Access Policies
      3. Erstellen Sie einen neuen Schlüssel, oder wählen Sie einen vorhandenen Schlüssel aus, der über Berechtigungen zum Senden verfügt.Create a new key or choose an existing key that has Send permissions.
      4. Kopieren Sie die primäre oder die sekundäre Verbindungszeichenfolge.Copy either the primary or secondary connection string

Erstellen eines Ziels für Service Bus-Warteschlangen oder -ThemenCreate a Service Bus queue or topic destination

Wenn Sie keinen vorhandenen Service Bus-Namespace als Exportziel haben, führen Sie die folgenden Schritte aus:If you don't have an existing Service Bus namespace to export to, follow these steps:

  1. Erstellen Sie einen neuen Service Bus-Namespace im Azure-Portal.Create a new Service Bus namespace in the Azure portal. Weitere Informationen erhalten Sie in der Azure Service Bus-Dokumentation.You can learn more in Azure Service Bus docs.

  2. Wenn Sie eine Warteschlange oder ein Thema als Exportziel erstellen möchten, wechseln Sie zu Ihrem Service Bus-Namespace, und wählen Sie + Warteschlange oder + Thema aus.To create a queue or topic to export to, go to your Service Bus namespace, and select + Queue or + Topic.

  3. Generieren Sie einen Schlüssel, der verwendet werden soll, wenn Sie Ihren Datenexport in IoT Central einrichten:Generate a key to use when you to set up your data export in IoT Central:

    • Wählen Sie die erstellte Warteschlange oder das erstellte Thema aus.Select the queue or topic you created.
    • Wählen Sie Einstellungen/Richtlinien für gemeinsamen Zugriff aus.Select Settings/Shared access policies.
    • Erstellen Sie einen neuen Schlüssel, oder wählen Sie einen vorhandenen Schlüssel aus, der über Berechtigungen zum Senden verfügt.Create a new key or choose an existing key that has Send permissions.
    • Kopieren Sie die primäre oder die sekundäre Verbindungszeichenfolge.Copy either the primary or secondary connection string. Mithilfe dieser Verbindungszeichenfolge richten Sie ein neues Ziel in IoT Central ein.You use this connection string to set up a new destination in IoT Central.
    • Alternativ können Sie eine Verbindungszeichenfolge für den gesamten Service Bus-Namespace generieren:Alternatively, you can generate a connection string for the entire Service Bus namespace:
      1. Navigieren Sie im Azure-Portal zu Ihrem Service Bus-Namespace.Go to your Service Bus namespace in the Azure portal.
      2. Wählen Sie unter Einstellungen die Option Freigegebene Zugriffsrichtlinien aus.Under Settings, select Shared Access Policies
      3. Erstellen Sie einen neuen Schlüssel, oder wählen Sie einen vorhandenen Schlüssel aus, der über Berechtigungen zum Senden verfügt.Create a new key or choose an existing key that has Send permissions.
      4. Kopieren Sie die primäre oder die sekundäre Verbindungszeichenfolge.Copy either the primary or secondary connection string

Erstellen Sie ein Azure Blob Storage-Ziel.Create an Azure Blob Storage destination

Wenn es noch kein Azure-Speicherkonto als Exportziel gibt, führen Sie die folgenden Schritte aus:If you don't have an existing Azure storage account to export to, follow these steps:

  1. Erstellen Sie ein neues Speicherkonto im Azure-Portal.Create a new storage account in the Azure portal. Sie können sich zum Erstellen neuer Azure Blob Storage-Konten oder neuer Azure Data Lake Storage v2-Speicherkonten genauer informieren.You can learn more about creating new Azure Blob storage accounts or Azure Data Lake Storage v2 storage accounts. Beim Datenexport können Daten nur in Speicherkonten geschrieben werden, die Blockblobs unterstützen.Data export can only write data to storage accounts that support block blobs. In der nachstehenden Liste sind die bekannten kompatiblen Speicherkontotypen aufgeführt:The following list shows the known compatible storage account types:

    LeistungsstufePerformance Tier KontotypAccount Type
    StandardStandard Universell v2General Purpose V2
    StandardStandard Universell v1General Purpose V1
    StandardStandard Blob StorageBlob storage
    PremiumPremium BlockblobspeicherBlock Blob storage
  2. Wenn Sie einen Container in Ihrem Speicherkonto erstellen möchten, wechseln Sie zu diesem Konto.To create a container in your storage account, go to your storage account. Wählen Sie unter Blob-Dienst die Option Blobs durchsuchen.Under Blob Service, select Browse Blobs. Wählen Sie oben die Option + Container aus, um einen neuen Container zu erstellen.Select + Container at the top to create a new container.

  3. Generieren Sie eine Verbindungszeichenfolge für Ihr Speicherkonto, indem Sie zu Einstellungen > Zugriffsschlüssel wechseln.Generate a connection string for your storage account by going to Settings > Access keys. Kopieren Sie eine der beiden Verbindungszeichenfolgen.Copy one of the two connection strings.

Erstellen eines WebhookendpunktsCreate a webhook endpoint

Sie können Daten in einen öffentlich verfügbaren HTTP-Webhookendpunkt exportieren.You can export data to a publicly available HTTP webhook endpoint. Sie können einen Webhooktestendpunkt mit RequestBin erstellen.You can create a test webhook endpoint using RequestBin. „RequestBin“ drosselt die Anforderung, wenn das Anforderungslimit erreicht wird:RequestBin throttles request when the request limit is reached:

  1. Öffnen Sie RequestBin.Open RequestBin.
  2. Erstellen Sie ein neues RequestBin-Element, und kopieren Sie die Bin-URL.Create a new RequestBin and copy the Bin URL. Sie verwenden diese URL beim Testen Ihres Datenexports.You use this URL when you test your data export.

Einrichten des DatenexportsSet up data export

Sie haben ein Ziel für den Export Ihrer Daten eingerichtet und richten jetzt den Datenexport in ihrer IoT Central Anwendung mit den folgenden Schritten ein:Now that you have a destination to export your data to, set up data export in your IoT Central application:

  1. Melden Sie sich bei Ihrer IoT Central-Anwendung an.Sign in to your IoT Central application.

  2. Wählen Sie im linken Bereich die Option Datenexport aus.In the left pane, select Data export.

    Tipp

    Falls Datenexport dort nicht angezeigt wird, haben Sie keine Berechtigungen zum Konfigurieren des Datenexports in Ihrer App.If you don't see Data export in the left pane, then you don't have permissions to configure data export in your app. Wenden Sie sich an Ihren Administrator, damit dieser den Datenexport einrichtet.Talk to an administrator to set up data export.

  3. Wählen Sie + Neuer Export aus.Select + New export.

  4. Geben Sie einen Anzeigenamen für Ihren neuen Export ein, und stellen Sie sicher, dass der Datenexport Aktiviert ist.Enter a display name for your new export, and make sure the data export is Enabled.

  5. Wählen Sie den zu exportierenden Datentyp aus.Choose the type of data to export. In der folgenden Tabelle sind die unterstützten Datenexporttypen aufgeführt:The following table lists the supported data export types:

    DatentypData type BeschreibungDescription DatenformatData format
    TelemetrieTelemetry Exportiert Telemetrienachrichten von Geräten nahezu in Echtzeit.Export telemetry messages from devices in near-real time. Jede exportierte Nachricht enthält den vollständigen Inhalt der ursprünglichen Gerätenachricht (normalisiert).Each exported message contains the full contents of the original device message, normalized. Format der TelemetrienachrichtTelemetry message format
    EigenschaftsänderungenProperty changes Exportiert Änderungen zu den Geräte- und Cloudeigenschaften nahezu in Echtzeit.Export changes to device and cloud properties in near-real time. Bei schreibgeschützten Geräteeigenschaften werden Änderungen an den gemeldeten Werten exportiert.For read-only device properties, changes to the reported values are exported. Bei Lese-/Schreibeigenschaften werden sowohl gemeldete als auch gewünschte Werte exportiert.For read-write properties, both reported and desired values are exported. Format der EigenschaftsänderungsnachrichtProperty change message format

  1. Fügen Sie optional Filter hinzu, um die Menge der exportierten Daten zu verringern.Optionally, add filters to reduce the amount of data exported. Für jeden Datenexporttyp gibt es verschiedene Arten von Filtern:There are different types of filter available for each data export type:

    Zum Filtern von Telemetriedaten können Sie Folgendes ausführen:To filter telemetry, you can:

    • Filtern des exportierten Datenstroms, damit er nur Telemetriedaten von Geräten enthält, die dem Gerätenamen, der Geräte-ID und der Filterbedingung der Gerätevorlage übereinstimmen.Filter the exported stream to only contain telemetry from devices that match the device name, device ID, and device template filter condition.
    • Filtern über Funktionen: Wenn Sie ein Telemetrieelement in der Dropdownliste Name auswählen, enthält der exportierte Datenstrom nur Telemetriedaten, die die Filterbedingung erfüllen.Filter over capabilities: If you choose a telemetry item in the Name dropdown, the exported stream only contains telemetry that meets the filter condition. Wenn Sie ein Gerät oder ein Cloudeigenschaftselement in der Dropdownliste Name auswählen, enthält der exportierte Datenstrom nur Telemetriedaten von Geräten mit Eigenschaften, die die Filterbedingung erfüllen.If you choose a device or cloud property item in the Name dropdown, the exported stream only contains telemetry from devices with properties matching the filter condition.
    • Nachrichteneigenschaftenfilter: Geräte, die die Geräte-SDKs verwenden, können Nachrichteneigenschaften oder Anwendungseigenschaften für jede Telemetrienachricht senden.Message property filter: Devices that use the device SDKs can send message properties or application properties on each telemetry message. Die Eigenschaften sind eine Sammlung von Schlüssel-Wert-Paaren, die die Nachricht mit benutzerdefinierten Bezeichnern kennzeichnen.The properties are a bag of key-value pairs that tag the message with custom identifiers. Zum Erstellen eines Nachrichteneigenschaftenfilters geben Sie den gesuchten Nachrichteneigenschaftsschlüssel ein, und geben Sie eine Bedingung an.To create a message property filter, enter the message property key you're looking for, and specify a condition. Nur Telemetrienachrichten mit Eigenschaften, die die angegebene Filterbedingung erfüllen, werden exportiert.Only telemetry messages with properties that match the specified filter condition are exported. Die folgenden Vergleichsoperatoren für Zeichenfolgen werden unterstützt: „ist gleich“, „ist nicht gleich“, „enthält“, „enthält nicht“, „ist vorhanden“, „ist nicht vorhanden“.The following string comparison operators are supported: equals, does not equal, contains, does not contain, exists, does not exist. Weitere Informationen zu Anwendungseigenschaften finden Sie in der IoT Hub-Dokumentation.Learn more about application properties from IoT Hub docs.

    Verwenden Sie zum Filtern von Eigenschaftsänderungen einen Funktionsfilter.To filter property changes, use a Capability filter. Wählen Sie ein Eigenschaftselement in der Dropdownliste aus.Choose a property item in the dropdown. Der exportierte Datenstrom enthält nur Änderungen an der ausgewählten Eigenschaft, die die Filterbedingung erfüllt.The exported stream only contains changes to the selected property that meets the filter condition.

  1. Reichern Sie optional exportierte Nachrichten mit zusätzlichen Metadaten für Schlüssel-Wert-Paare an.Optionally, enrich exported messages with additional key-value pair metadata. Die folgenden Anreicherungen stehen für die Datenexporttypen „Telemetrie“ und „Eigenschaftsänderungen“ zur Verfügung:The following enrichments are available for the telemetry and property changes data export types:

    • Benutzerdefinierte Zeichenfolge: Fügt jeder Nachricht eine benutzerdefinierte statische Zeichenfolge hinzu.Custom string: Adds a custom static string to each message. Geben Sie einen beliebigen Schlüssel und einen beliebigen Zeichenfolgenwert ein.Enter any key, and enter any string value.
    • Property: Fügt jeder Nachricht die aktuelle vom Gerät gemeldete Eigenschaft oder den Cloudeigenschaftswert hinzu.Property: Adds the current device reported property or cloud property value to each message. Geben Sie einen beliebigen Schlüssel ein, und wählen Sie eine Geräte- oder Cloudeigenschaft aus.Enter any key, and choose a device or cloud property. Wenn die exportierte Nachricht aus einem Gerät stammt, das die angegebene Eigenschaft nicht hat, erhält die exportierte Nachricht die Anreicherung nicht.If the exported message is from a device that doesn't have the specified property, the exported message doesn't get the enrichment.
  2. Fügen Sie ein neues Ziel oder ein Ziel hinzu, das Sie bereits erstellt haben.Add a new destination or add a destination that you've already created. Wählen Sie den Link Create a new one (Neue erstellen) aus, und fügen Sie die folgenden Informationen hinzu:Select the Create a new one link and add the following information:

    • Zielname: der Anzeigename des Ziels in IoT Central.Destination name: the display name of the destination in IoT Central.
    • Zieltyp: Wählen Sie den Typ des Ziels aus.Destination type: choose the type of destination. Wenn Sie Ihr Ziel noch nicht eingerichtet haben, finden Sie weitere Informationen unter Einrichten des Exportziels.If you haven't already set up your destination, see Set up export destination.
    • Fügen Sie bei Azure Event Hubs, Azure Service Bus-Warteschlange oder -Thema die Verbindungszeichenfolge für Ihre Ressource ein, und geben Sie bei Bedarf den Namen des Event Hubs, der Warteschlange oder des Themas ein (Groß-/Kleinschreibung beachten).For Azure Event Hubs, Azure Service Bus queue or topic, paste the connection string for your resource, and enter the case-sensitive event hub, queue, or topic name if necessary.
    • Fügen Sie bei Azure Blob Storage die Verbindungszeichenfolge für Ihre Ressource ein, und geben Sie bei Bedarf den Containernamen ein (Groß-/Kleinschreibung beachten).For Azure Blob Storage, paste the connection string for your resource and enter the case-sensitive container name if necessary.
    • Bei Webhook fügen Sie die Callback-URL für Ihren Webhookendpunkt ein.For Webhook, paste the callback URL for your webhook endpoint. Optional können Sie die Webhookautorisierung (OAuth 2.0 und Autorisierungstoken) konfigurieren und benutzerdefinierte Header hinzufügen.You can optionally configure webhook authorization (OAuth 2.0 and Authorization token) and add custom headers.
      • Bei OAuth 2.0 wird nur der Flow für Anmeldeinformationen von Clients unterstützt.For OAuth 2.0, only the client credentials flow is supported. Wenn das Ziel gespeichert ist, kommuniziert IoT Central mit Ihrem OAuth-Anbieter, um ein Autorisierungstoken abzurufen.When the destination is saved, IoT Central will communicate with your OAuth provider to retrieve an authorization token. Dieses Token wird bei jeder an dieses Ziel gesendeten Nachricht an den Autorisierungsheader angefügt.This token will be attached to the "Authorization" header for every message sent to this destination.
      • Für das Autorisierungstoken können Sie einen Tokenwert angeben, der bei jeder an dieses Ziel gesendeten Nachricht direkt an den Autorisierungsheader angefügt wird.For Authorization token, you can specify a token value that will be directly attached to the "Authorization" header for every message sent to this destination.
    • Klicken Sie auf Erstellen.Select Create.
  3. Wählen Sie + Ziel und dann ein Ziel aus der Dropdownliste aus.Select + Destination and choose a destination from the dropdown. Sie können bis zu fünf Ziele zu einem einzelnen Export hinzufügen.You can add up to five destinations to a single export.

  4. Wenn Sie das Einrichten Ihres Exports abgeschlossen haben, wählen Sie Speichern aus.When you've finished setting up your export, select Save. Nach einigen Minuten werden Ihre Daten in Ihren Zielen angezeigt.After a few minutes, your data appears in your destinations.

Überwachen des ExportsMonitor your export

Zusätzlich zum Anzeigen des Status Ihrer Exporte in IoT Central können Sie mit Azure Monitor auch anzeigen, wie viele Daten exportiert werden und welche Exportfehler auftreten.In addition to seeing the status of your exports in IoT Central, you can use Azure Monitor to see how much data you're exporting and any export errors. Die Metriken zum Export und zur Geräteintegrität sind über Diagramme im Azure-Portal, eine REST-API sowie Abfragen in PowerShell oder der Azure-Befehlszeilenschnittstelle zugänglich.You can access export and device health metrics in charts in the Azure portal, with a REST API, or with queries in PowerShell or the Azure CLI. Derzeit können Sie die folgenden Datenexportmetriken in Azure Monitor überwachen:Currently, you can monitor the following data export metrics in Azure Monitor:

  • Anzahl der eingehenden Nachrichten für den Export vor dem Anwenden von FilternNumber of messages incoming to export before filters are applied.
  • Anzahl der Nachrichten, die die Filter durchlaufenNumber of messages that pass through filters.
  • Anzahl von Nachrichten, die erfolgreich an die Ziele exportiert wurdenNumber of messages successfully exported to destinations.
  • Anzahl der aufgetretenen Fehler.Number of errors encountered.

Weitere Informationen finden Sie unter Überwachen der Gesamtintegrität einer IoT Central-Anwendung.To learn more, see Monitor the overall health of an IoT Central application.

DestinationsDestinations

Azure Blob Storage-ZielAzure Blob Storage destination

Daten werden einmal pro Minute exportiert, wobei jede Datei den Batch der Änderungen seit dem vorherigen Export enthält.Data is exported once per minute, with each file containing the batch of changes since the previous export. Exportierte Daten werden im JSON-Format gespeichert.Exported data is saved in JSON format. Die Standardpfade zu den exportierten Daten in Ihrem Speicherkonto lauten:The default paths to the exported data in your storage account are:

  • Telemetriedaten: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}Telemetry: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}
  • Eigenschaftsänderungen: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}Property changes: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}

Wenn Sie die exportierten Dateien im Azure-Portal durchsuchen möchten, navigieren Sie zu der gewünschten Datei, und wählen Sie Blob bearbeiten aus.To browse the exported files in the Azure portal, navigate to the file and select Edit blob.

Azure Event Hubs- und Azure Service Bus-ZieleAzure Event Hubs and Azure Service Bus destinations

Daten werden nahezu in Echtzeit exportiert.Data is exported in near real time. Die Daten befinden sich im Nachrichtentext und liegen im JSON-Format vor, das als UTF-8 codiert ist.The data is in the message body and is in JSON format encoded as UTF-8.

Die Sammlung von Anmerkungen bzw. Systemeigenschaften der Nachricht enthält die Felder iotcentral-device-id, iotcentral-application-id, iotcentral-message-source und iotcentral-message-type mit denselben Werten wie die entsprechenden Felder im Nachrichtentext.The annotations or system properties bag of the message contains the iotcentral-device-id, iotcentral-application-id, iotcentral-message-source, and iotcentral-message-type fields that have the same values as the corresponding fields in the message body.

WebhookzielWebhook destination

Bei Webhookzielen werden Daten ebenfalls nahezu in Echtzeit exportiert.For webhooks destinations, data is also exported in near real time. Die Daten im Nachrichtentext haben dasselbe Format wie bei Event Hubs und Service Bus.The data in the message body is in the same format as for Event Hubs and Service Bus.

TelemetrieformatTelemetry format

Jede exportierte Nachricht enthält eine normalisierte Form der vollständigen Nachricht, die das Gerät im Nachrichtentext gesendet hat.Each exported message contains a normalized form of the full message the device sent in the message body. Die Nachricht ist im JSON-Format und als UTF-8 codiert.The message is in JSON format and encoded as UTF-8. Jede Nachricht enthält folgende Informationen:Information in each message includes:

  • applicationId: Die ID der IoT Central-Anwendung.applicationId: The ID of the IoT Central application.
  • messageSource: Die Quelle für die Nachricht – telemetry.messageSource: The source for the message - telemetry.
  • deviceId: Die ID des Geräts, von dem die Telemetrienachricht gesendet wurde.deviceId: The ID of the device that sent the telemetry message.
  • schema: Den Namen und die Version des Nutzdatenschemas.schema: The name and version of the payload schema.
  • templateId: Die ID der Gerätevorlage, die dem Gerät zugeordnet ist.templateId: The ID of the device template associated with the device.
  • enrichments: Alle im Export eingerichteten Anreicherungen.enrichments: Any enrichments set up on the export.
  • messageProperties: Zusätzliche Eigenschaften, die das Gerät zusammen mit der Nachricht gesendet hat.messageProperties: Additional properties that the device sent with the message. Diese Eigenschaften werden manchmal auch als Anwendungseigenschaften bezeichnet.These properties are sometimes referred to as application properties. Weitere Informationen zu IoT Hub-Dokumenten.Learn more from IoT Hub docs.

Bei Event Hubs und Service Bus exportiert IoT Central eine neue Nachricht schnell, nachdem sie von einem Gerät eingetroffen ist.For Event Hubs and Service Bus, IoT Central exports a new message quickly after it receives the message from a device. In die Benutzereigenschaften (auch als „Anwendungseigenschaften“ bezeichnet) jeder Nachricht werden die Eigenschaften iotcentral-device-id, iotcentral-application-id und iotcentral-message-source automatisch einbezogen.In the user properties (also referred to as application properties) of each message, the iotcentral-device-id, iotcentral-application-id, and iotcentral-message-source are included automatically.

Bei Blob Storage werden Nachrichten im Batch zusammengefasst und einmal pro Minute exportiert.For Blob storage, messages are batched and exported once per minute.

Das folgende Beispiel zeigt eine exportierte Telemetrienachricht:The following example shows an exported telemetry message:


{
    "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
    "messageSource": "telemetry",
    "deviceId": "1vzb5ghlsg1",
    "schema": "default@v1",
    "templateId": "urn:qugj6vbw5:___qbj_27r",
    "enqueuedTime": "2020-08-05T22:26:55.455Z",
    "telemetry": {
        "Activity": "running",
        "BloodPressure": {
            "Diastolic": 7,
            "Systolic": 71
        },
        "BodyTemperature": 98.73447010562934,
        "HeartRate": 88,
        "HeartRateVariability": 17,
        "RespiratoryRate": 13
    },
    "enrichments": {
      "userSpecifiedKey": "sampleValue"
    },
    "messageProperties": {
      "messageProp": "value"
    }
}

NachrichteneigenschaftenMessage properties

Telemetrienachrichten verfügen zusätzlich zu den Telemetrienutzdaten über Eigenschaften für Metadaten.Telemetry messages have properties for metadata in addition to the telemetry payload. Der vorherige Codeausschnitt zeigt Beispiele für Systemmeldungen wie deviceId und enqueuedTime.The previous snippet shows examples of system messages such as deviceId and enqueuedTime. Weitere Informationen zu den Eigenschaften von Systemmeldungen finden Sie unter Systemeigenschaften von D2C-IoT Hub-Nachrichten.To learn more about the system message properties, see System Properties of D2C IoT Hub messages.

Sie können Telemetrienachrichten Eigenschaften hinzufügen, wenn Sie Ihren Telemetrienachrichten benutzerdefinierte Metadaten hinzufügen möchten.You can add properties to telemetry messages if you need to add custom metadata to your telemetry messages. Beispielsweise können Sie einen Zeitstempel für den Zeitpunkt hinzufügen, zu dem das Gerät die Meldung erstellt hat.For example, you need to add a timestamp when the device creates the message.

Der folgende Codeausschnitt zeigt, wie Sie der Nachricht die iothub-creation-time-utc-Eigenschaft hinzufügen, wenn diese auf dem Gerät erstellt wird:The following code snippet shows how to add the iothub-creation-time-utc property to the message when you create it on the device:

async function sendTelemetry(deviceClient, index) {
  console.log('Sending telemetry message %d...', index);
  const msg = new Message(
    JSON.stringify(
      deviceTemperatureSensor.updateSensor().getCurrentTemperatureObject()
    )
  );
  msg.properties.add("iothub-creation-time-utc", new Date().toISOString());
  msg.contentType = 'application/json';
  msg.contentEncoding = 'utf-8';
  await deviceClient.sendEvent(msg);
}

Der folgende Codeausschnitt zeigt diese Eigenschaft in der Nachricht, die an Blob Storage exportiert wird:The following snippet shows this property in the message exported to Blob storage:

{
  "applicationId":"5782ed70-b703-4f13-bda3-1f5f0f5c678e",
  "messageSource":"telemetry",
  "deviceId":"sample-device-01",
  "schema":"default@v1",
  "templateId":"urn:modelDefinition:mkuyqxzgea:e14m1ukpn",
  "enqueuedTime":"2021-01-29T16:45:39.143Z",
  "telemetry":{
    "temperature":8.341033560421833
  },
  "messageProperties":{
    "iothub-creation-time-utc":"2021-01-29T16:45:39.021Z"
  },
  "enrichments":{}
}

Format für EigenschaftsänderungenProperty changes format

Jede Nachricht bzw. jeder Datensatz stellt eine Änderung an einem Gerät oder einer Cloudeigenschaft dar.Each message or record represents one change to a device or cloud property. Bei Geräteeigenschaften werden nur Änderungen des gemeldeten Werts als separate Nachricht exportiert.For device properties, only changes in the reported value are exported as a separate message. Die exportierte Nachricht enthält folgende Informationen:Information in the exported message includes:

  • applicationId: Die ID der IoT Central-Anwendung.applicationId: The ID of the IoT Central application.
  • messageSource: Die Quelle für die Nachricht – properties.messageSource: The source for the message - properties.
  • messageType: Entweder cloudPropertyChange, devicePropertyDesiredChange oder devicePropertyReportedChange.messageType: Either cloudPropertyChange, devicePropertyDesiredChange, or devicePropertyReportedChange.
  • deviceId: Die ID des Geräts, von dem die Telemetrienachricht gesendet wurde.deviceId: The ID of the device that sent the telemetry message.
  • schema: Den Namen und die Version des Nutzdatenschemas.schema: The name and version of the payload schema.
  • templateId: Die ID der Gerätevorlage, die dem Gerät zugeordnet ist.templateId: The ID of the device template associated with the device.
  • enrichments: Alle im Export eingerichteten Anreicherungen.enrichments: Any enrichments set up on the export.

Bei Event Hubs und Service Bus exportiert IoT Central neue Nachrichtendaten nahezu in Echtzeit an Ihren Event Hub oder Ihre Service Bus-Warteschlange bzw. Ihr Service Bus-Thema.For Event Hubs and Service Bus, IoT Central exports new messages data to your event hub or Service Bus queue or topic in near real time. In die Benutzereigenschaften (auch als „Anwendungseigenschaften“ bezeichnet) jeder Nachricht werden die Eigenschaften iotcentral-device-id, iotcentral-application-id, iotcentral-message-source und iotcentral-message-type automatisch einbezogen.In the user properties (also referred to as application properties) of each message, the iotcentral-device-id, iotcentral-application-id, iotcentral-message-source, and iotcentral-message-type are included automatically.

Bei Blob Storage werden Nachrichten im Batch zusammengefasst und einmal pro Minute exportiert.For Blob storage, messages are batched and exported once per minute.

Das folgende Beispiel zeigt eine exportierte Eigenschaftsänderungsnachricht, die in Azure Blob Storage empfangen wurde.The following example shows an exported property change message received in Azure Blob Storage.

{
    "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
    "messageSource": "properties",
    "messageType": "cloudPropertyChange",
    "deviceId": "18a985g1fta",
    "schema": "default@v1",
    "templateId": "urn:qugj6vbw5:___qbj_27r",
    "enqueuedTime": "2020-08-05T22:37:32.942Z",
    "properties": [{
        "name": "MachineSerialNumber",
        "value": "abc"
    }],
    "enrichments": {
        "userSpecifiedKey" : "sampleValue"
    }
}

Vergleich zwischen Legacy-Datenexport und DatenexportComparison of legacy data export and data export

Die folgende Tabelle zeigt die Unterschiede zwischen dem Legacy-Datenexport und den Features des neuen Datenexports:The following table shows the differences between the legacy data export and the new data export features:

FunktionenCapabilities Legacy-DatenexportLegacy data export Neuer DatenexportNew data export
Verfügbare DatentypenAvailable data types Telemetrie, Geräte, GerätevorlagenTelemetry, Devices, Device templates Telemetrie, EigenschaftsänderungenTelemetry, Property changes
FilterungFiltering KeinerNone Hängt vom exportierten Datentyp ab.Depends on the data type exported. Für Telemetrie, Filtern nach Telemetrie, Nachrichteneigenschaften, EigenschaftswerteFor telemetry, filtering by telemetry, message properties, property values
AnreicherungenEnrichments KeinerNone Anreichern mit einer benutzerdefinierten Zeichenfolge oder einem Eigenschaftswert auf dem GerätEnrich with a custom string or a property value on the device
DestinationsDestinations Azure Event Hubs, Azure Service Bus-Warteschlangen und -Themen, Azure Blob StorageAzure Event Hubs, Azure Service Bus queues and topics, Azure Blob Storage Wie bei Legacy-Datenexport plus WebhooksSame as for legacy data export plus webhooks
Unterstützte AnwendungsversionenSupported application versions V2 und V3V2, V3 Nur V3V3 only
Relevante GrenzwerteNotable limits 5 Exporte pro App, 1 Ziel pro Export5 exports per app, 1 destination per export 10 Exporte-Ziel-Verbindungen pro App10 exports-destination connections per app

Nächste SchritteNext steps

Sie wissen jetzt, wie Sie den neuen Datenexport verwenden können. Als Nächstes sollten Sie sich über das Analysieren von Gerätedaten in IoT Central informieren.Now that you know how to use the new data export, a suggested next step is to learn How to use analytics in IoT Central