Exportieren von IoT-Daten in Blob Storage

In diesem Artikel wird beschrieben, wie Sie den Datenexport so konfigurieren, dass Daten in den Dienst Blob Storage übertragen werden.

Verwenden Sie dieses Feature für den fortlaufenden Export von gefilterten und angereicherten IoT-Daten aus Ihrer IoT Central-Anwendung. Beim Datenexport werden Änderungen nahezu in Echtzeit in andere Teile Ihrer Cloudlösung gepusht, damit Sie umsetzbare Einblicke, Analyseergebnisse und Speicherinformationen erhalten.

Beispielsweise können Sie folgende Aktionen ausführen:

  • Fortlaufendes Exportieren von Telemetriedaten, Eigenschaftsänderungen, Gerätekonnektivität, Gerätelebenszyklus, Lebenszyklus der Gerätevorlage und Überwachungsprotokolldaten im JSON-Format nahezu in Echtzeit
  • Filtern der Datenströme zum Exportieren von Daten, die die benutzerdefinierten Bedingungen erfüllen.
  • Anreichern der Datenströme mit benutzerdefinierten Werten und Eigenschaftswerten aus dem Gerät.
  • Transformieren der Datenströme, um deren Form und Inhalt zu ändern.

Tipp

Wenn Sie den Datenexport aktivieren, erhalten Sie nur die Daten ab dem jeweiligen Aktivierungszeitpunkt. Wenn Sie mehr Verlaufsdaten beibehalten möchten, aktivieren Sie den Datenexport frühzeitig. Informationen zum manuellen Exportieren von Daten für Zeiten, in denen der Datenexport deaktiviert war, finden Sie unter Verwenden der REST-API in IoT Central zum Abfragen von Geräten.

Hinweis

In bestimmten Fällen kann es bis zu 60 Sekunden dauern, bis die Nachrichten exportiert werden. Hierbei handelt es sich um die Zeitspanne zwischen dem Zeitpunkt, zu dem IoT Central die Nachricht vom zugrunde liegenden IoT-Hub empfängt, und dem Zeitpunkt, zu dem die Nachricht an den Zielendpunkt übermittelt wird.

Voraussetzungen

Damit Sie die Datenexportfeatures verwenden können, müssen Sie über die Berechtigung Datenexport verfügen.

Informationen zum Verwalten des Datenexports mithilfe der IoT Central-REST-API finden Sie unter Verwenden der IoT Central-REST-API zum Verwalten von Datenexporten.

Einrichten eines Exportziels in Blob Storage

IoT Central Daten werden einmal pro Minute exportiert, wobei jede Datei den Batch der Änderungen seit dem vorherigen Export enthält. Exportierte Daten werden im JSON-Format gespeichert. Die Standardpfade zu den exportierten Daten in Ihrem Speicherkonto lauten:

  • Telemetriedaten: {container}/{app-id}/{partition_id}/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}
  • Eigenschaftsänderungen: {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.

Verbindungsoptionen

Bei Blob-Storage-Zielen können Sie die Verbindung mit einem Verbindungsstring oder einer verwalteten Identität konfigurieren.

Tipp

Wenn das Blob Storage-Ziel durch eine Firewall geschützt ist, müssen Sie eine verwaltete Identität verwenden, um eine Verbindung damit herzustellen.

Verwaltete Identitäten sind aus folgenden Gründen sicherer:

  • Sie speichern die Anmeldeinformationen für Ihre Ressource nicht in einer Verbindungszeichenfolge in Ihrer IoT Central-Anwendung.
  • Die Anmeldeinformationen sind automatisch an die Lebensdauer Ihrer IoT Central-Anwendung gebunden.
  • Verwaltete Identitäten rotieren ihre Sicherheitsschlüssel automatisch regelmäßig.

IoT Central verwendet derzeit systemseitig zugewiesene verwaltete Identitäten.

Wenn Sie eine verwaltete Identität konfigurieren, müssen Sie einen Bereich und eine Rolle festlegen:

  • Mit dem Bereich wird definiert, wo die verwaltete Identität verwendet werden kann. Sie können zum Beispiel eine Azure-Ressourcengruppe als Bereich festlegen. In diesem Fall müssen sich die IoT Central-Anwendung und das Ziel in derselben Ressourcengruppe befinden.
  • Mit der Rolle wird definiert, über welche Berechtigungen die IoT Central-Anwendung im Zieldienst verfügt. Damit eine IoT Central-Anwendung Daten an einen Event Hub senden kann, muss der verwalteten Identität beispielsweise die Rolle Azure Event Hubs Data Sender (Azure Event Hubs-Datensender) zugewiesen sein.

Das folgende Video enthält weitere Informationen zu vom System zugewiesenen verwalteten Identitäten:

Achtung

Verwenden Sie zum Exportieren in Blob Storage nicht den Speicherkontomitwirkenden, wie im Video gezeigt. Verwenden Sie stattdessen die Rolle Mitwirkender an Storage-Blobdaten.

Erstellen Sie ein Azure Blob Storage-Ziel.

In diesem Artikel wird gezeigt, wie eine verwaltete Identität mithilfe der Azure CLI erstellt wird. Sie können eine verwaltete Identität auch über das Azure-Portal erstellen.

Wenn es kein Azure Storage-Konto als Exportziel gibt, führen Sie in Azure Cloud Shell in der Bash-Umgebung das folgende Skript aus. Das Skript erstellt eine Ressourcengruppe, ein Azure Storage-Konto und einen Blobcontainer. Anschließend aktiviert das Skript die verwaltete Identität für Ihre IoT Central-Anwendung und weist die Rolle zu, die für den Zugriff auf Ihr Speicherkonto benötigt wird:

# Replace the storage account name with your own unique value.
SA=yourstorageaccount$RANDOM

# Replace the IoT Central app name with the name of your
# IoT Central application.
CA=your-iot-central-app

CN=exportdata
RG=centralexportresources
LOCATION=eastus

az group create -n $RG --location $LOCATION
SAID=$(az storage account create --name $SA --resource-group $RG --location $LOCATION --sku Standard_LRS --query "id" --output tsv)
az storage container create --account-name $SA --resource-group $RG --name $CN

# This assumes your IoT Central application is in the 
# default `IOTC` resource group.
az iot central app identity assign --name $CA --resource-group IOTC --system-assigned
PI=$(az iot central app identity show --name $CA --resource-group IOTC --query "principalId" --output tsv)

az role assignment create --assignee $PI --role "Storage Blob Data Contributor" --scope $SAID

az role assignment list --assignee $PI --all -o table

echo "Endpoint URI: https://$SA.blob.core.windows.net/"
echo "Container: $CN"

Sie können sich zum Erstellen neuer Azure Blob Storage-Konten oder neuer Azure Data Lake Storage v2-Speicherkonten genauer informieren. Beim Datenexport können Daten nur in Speicherkonten geschrieben werden, die Blockblobs unterstützen. In der nachstehenden Tabelle sind die bekannten kompatiblen Speicherkontotypen aufgeführt:

Leistungsstufe Kontoart
Standard Allgemein, Version 2
Standard Universell v1
Standard Blob Storage
Premium Blockblobspeicher

Informationen dazu, wie Sie Ihren Blobcontainer weiter sichern und den Zugriff nur aus vertrauenswürdigen Diensten mit verwalteten Identitäten zulassen, finden Sie unter Exportieren von Daten in ein sicheres Ziel in einem Azure Virtual Network.

So erstellen Sie das Blob Storage-Ziel in IoT Central auf der Seite Datenexport:

  1. Wählen Sie +Neues Ziel aus.

  2. Wählen Sie als Zieltyp Azure Blob Storage aus.

  3. Wählen Sie Systemzugeordnete verwaltete Identität als Autorisierungstyp.

  4. Geben Sie den Endpunkt-URI für Ihr Speicherkonto und den Containernamen mit Groß- und Kleinschreibung ein. Endpunkt-URIs sehen wie folgt aus: https://contosowaste.blob.core.windows.net.

  5. Wählen Sie Speichern.

Sollten bei Ihrem Zieldienst keine Daten ankommen, lesen Sie Behandeln von Problemen mit Datenexporten aus Ihrer Azure IoT Central-Anwendung.

Einrichten des Datenexports

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:

  1. Melden Sie sich bei Ihrer IoT Central-Anwendung an.

  2. Wählen Sie im linken Bereich die Option Datenexport aus.

    Tipp

    Falls Datenexport dort nicht angezeigt wird, haben Sie keine Berechtigungen zum Konfigurieren des Datenexports in Ihrer App. Wenden Sie sich an Ihren Administrator, damit dieser den Datenexport einrichtet.

  3. Wählen Sie + Neuer Export aus.

  4. Geben Sie einen Anzeigenamen für Ihren neuen Export ein, und stellen Sie sicher, dass der Datenexport Aktiviert ist.

  5. Wählen Sie den zu exportierenden Datentyp aus. In der folgenden Tabelle sind die unterstützten Datenexporttypen aufgeführt:

    Datentyp Beschreibung Datenformat
    Telemetrie Exportiert Telemetrienachrichten von Geräten nahezu in Echtzeit. Jede exportierte Nachricht enthält den vollständigen Inhalt der ursprünglichen Gerätenachricht (normalisiert). Format der Telemetrienachricht
    Eigenschaftsänderungen Exportiert Änderungen zu den Geräte- und Cloudeigenschaften nahezu in Echtzeit. Bei schreibgeschützten Geräteeigenschaften werden Änderungen an den gemeldeten Werten exportiert. Bei Lese-/Schreibeigenschaften werden sowohl gemeldete als auch gewünschte Werte exportiert. Format der Eigenschaftsänderungsnachricht
    Gerätekonnektivität Exportieren von Ereignissen zu verbundenen und getrennten Geräten Nachrichtenformat zur Gerätekonnektivität
    Gerätelebenszyklus Exportieren der Geräteereignisse „registered“, „deleted“, „provisioned“, „enabled“, „disabled“, „displayNameChanged“ und „deviceTemplateChanged“ Nachrichtenformat der Gerätelebenszyklusänderungen
    Gerätevorlagenlebenszyklus Exportiert Änderungen an veröffentlichten Gerätevorlagen wie etwa Erstellungs-, Aktualisierungs- und Löschvorgänge. Nachrichtenformat der Änderungen des Gerätevorlagenlebenszyklus
    Überwachungsprotokolle Protokolle von benutzerseitig ausgelösten Updates für Entitäten in der Anwendung. Weitere Informationen finden Sie unter Verwenden von Überwachungsprotokollen zum Nachverfolgen von Aktivitäten in Ihrer IoT Central-Anwendung. Format der Überwachungsprotokollmeldung
  6. Fügen Sie optional Filter hinzu, um die Menge der exportierten Daten zu verringern. Für jeden Datenexporttyp gibt es verschiedene Arten von Filtern:

    Datentyp Verfügbare Filter
    Telemetrie
    • Filtern nach Gerätename, Geräte-ID, Gerätevorlage und simulierten Geräten
    • Filtern des Datenstroms, sodass er nur Telemetriedaten enthält, die den Filterbedingungen entsprechen
    • Filtern des Datenstroms, sodass er nur Telemetriedaten von Geräten mit Eigenschaften enthält, die den Filterbedingungen entsprechen
    • Filtern des Datenstroms, sodass er nur Telemetriedaten mit Nachrichteneigenschaften enthält, die den Filterbedingungen entsprechen. Nachrichteneigenschaften (auch als Anwendungseigenschaften bezeichnet) werden in einer Sammlung von Schlüssel-Wert-Paaren in jeder Telemetrienachricht gesendet. Zum Erstellen eines Nachrichteneigenschaftenfilters geben Sie den gesuchten Nachrichteneigenschaftsschlüssel ein, und geben Sie eine Bedingung an. Nur Telemetrienachrichten mit Eigenschaften, die die angegebene Filterbedingung erfüllen, werden exportiert. Weitere Informationen zu Anwendungseigenschaften finden Sie in der IoT Hub-Dokumentation.
    Eigenschaftsänderungen
    • Filtern nach Gerätename, Geräte-ID, Gerätevorlage und simulierten Geräten
    • Filtern des Datenstroms, sodass er nur Eigenschaftsänderungen enthält, die den Filterbedingungen entsprechen
    Gerätekonnektivität
    • Filtern nach Gerätename, Geräte-ID, Gerätevorlage, Organisationen und ob das Gerät simuliert ist
    • Filtern des Datenstroms, sodass er nur Änderungen von Geräten mit Eigenschaften enthält, die den Filterbedingungen entsprechen
    Gerätelebenszyklus
    • Filtern nach Gerätename, Geräte-ID, Gerätevorlage und bereitgestellten, aktivierten oder simulierten Geräten
    • Filtern des Datenstroms, sodass er nur Änderungen von Geräten mit Eigenschaften enthält, die den Filterbedingungen entsprechen
    Gerätevorlagenlebenszyklus
    • Filtern nach Gerätevorlage
    Überwachungsprotokolle N/V
  7. Reichern Sie optional exportierte Nachrichten mit zusätzlichen Metadaten für Schlüssel-Wert-Paare an. Die folgenden Anreicherungen stehen für die Datenexporttypen „Telemetrie“, „Eigenschaftsänderungen“, „Gerätekonnektivität“ und „Gerätelebenszyklus“ zur Verfügung:

    • Benutzerdefinierte Zeichenfolge: Fügt jeder Nachricht eine benutzerdefinierte statische Zeichenfolge hinzu. Geben Sie einen beliebigen Schlüssel und einen beliebigen Zeichenfolgenwert ein.
    • Eigenschaft, die jeder Nachricht Folgendes hinzufügt:
      • Gerätemetadaten wie Gerätename, Gerätevorlagenname, aktiviert, Organisationen, bereitgestellt und simuliert.
      • Die aktuelle vom Gerät gemeldete Eigenschaft oder den Cloudeigenschaftswert Wenn die exportierte Nachricht aus einem Gerät stammt, das die angegebene Eigenschaft nicht hat, erhält die exportierte Nachricht die Anreicherung nicht.

Konfigurieren Sie das Exportziel:

  1. Wählen Sie + Ziel aus, um ein Ziel hinzuzufügen, das Sie bereits erstellt haben, oder wählen Sie Ein Neues Erstellen aus.

  2. Wählen Sie + Transformieren aus, um Ihre Daten vor dem Export zu transformieren. Weitere Informationen finden Sie unter Transformieren von Daten in Ihrer IoT Central-Anwendung für den Export.

  3. Wählen Sie + Ziel, um bis zu fünf Ziele zu einem einzigen Export hinzuzufügen.

  4. Wenn Sie das Einrichten Ihres Exports abgeschlossen haben, wählen Sie Speichern aus. Nach einigen Minuten werden Ihre Daten in Ihren Zielen angezeigt.

Überwachen des Exports

In IoT Central können Sie auf der Seite Datenexport den Status Ihrer Exporte überprüfen. Darüber hinaus können Sie in Azure Monitor die Datenmenge sehen, die exportiert wird, sowie etwaige Exportfehler. Sie können auf Metriken zum Export und zur Geräteintegrität in Diagrammen im Azure-Portal über die REST-API sowie über Abfragen in PowerShell oder über die Azure CLI zugreifen. Derzeit können Sie die folgenden Datenexportmetriken in Azure Monitor überwachen:

  • Anzahl der eingehenden Nachrichten für den Export vor dem Anwenden von Filtern
  • Anzahl der Nachrichten, die die Filter durchlaufen
  • Anzahl von Nachrichten, die erfolgreich an die Ziele exportiert wurden
  • Anzahl der gefundenen Fehler.

Weitere Informationen finden Sie unter Überwachen der Anwendungsintegrität.

Datenformate

In den folgenden Abschnitten werden die Formate der exportierten Daten beschrieben:

Telemetrieformat

Jede exportierte Nachricht enthält eine normalisierte Form der vollständigen Nachricht, die das Gerät im Nachrichtentext gesendet hat. Die Nachricht ist im JSON-Format und als UTF-8 codiert. Jede Nachricht enthält folgende Informationen:

  • applicationId: Die ID der IoT Central-Anwendung.
  • messageSource: Die Quelle für die Nachricht (telemetry).
  • deviceId:Die ID des Geräts, von dem die Telemetrienachricht gesendet wurde.
  • schema: Den Namen und die Version des Nutzdatenschemas.
  • templateId: Die ID der Gerätevorlage, die dem Gerät zugewiesen ist
  • enqueuedTime: Den Zeitpunkt, zu dem diese Nachricht von IoT Central empfangen wurde.
  • enrichments: Alle im Export eingerichteten Anreicherungen.
  • module: Das IoT Edge-Modul, das diese Nachricht gesendet hat. Dieses Feld wird nur angezeigt, wenn die Nachricht aus einem IoT Edge-Modul stammt.
  • component: Die Komponente, die diese Nachricht gesendet hat. Dieses Feld wird nur angezeigt, wenn die in der Nachricht gesendeten Funktionen als eine Komponente in der Gerätevorlage modelliert wurden.
  • messageProperties: Hierbei handelt es sich um weitere Eigenschaften, die das Gerät zusammen mit der Nachricht gesendet hat. Diese Eigenschaften werden manchmal auch als Anwendungseigenschaften bezeichnet. Weitere Informationen zu IoT Hub-Dokumenten.

Bei Blob Storage werden Nachrichten im Batch zusammengefasst und einmal pro Minute exportiert.

Das folgende Beispiel zeigt eine exportierte Telemetrienachricht:


{
    "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"
    },
    "module": "VitalsModule",
    "component": "DeviceComponent",
    "messageProperties": {
      "messageProp": "value"
    }
}

Nachrichteneigenschaften

Telemetrie-Nachrichten haben Eigenschaften für Metadaten sowie für die Telemetrie-Nutzdaten. Der vorherige Codeausschnitt zeigt Beispiele für Systemmeldungen wie deviceId und enqueuedTime. Weitere Informationen zu den Eigenschaften von Systemmeldungen finden Sie unter Systemeigenschaften von D2C-IoT Hub-Nachrichten.

Sie können Telemetrienachrichten Eigenschaften hinzufügen, wenn Sie Ihren Telemetrienachrichten benutzerdefinierte Metadaten hinzufügen möchten. Beispielsweise können Sie einen Zeitstempel für den Zeitpunkt hinzufügen, zu dem das Gerät die Meldung erstellt hat.

Der folgende Codeausschnitt zeigt, wie Sie der Nachricht die iothub-creation-time-utc-Eigenschaft hinzufügen, wenn diese auf dem Gerät erstellt wird:

Wichtig

Das Format dieses Zeitstempels muss UTC ohne Zeitzoneninformationen sein. Beispiel: 2021-04-21T11:30:16Z ist gültig, 2021-04-21T11:30:16-07:00 ist ungültig.

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);
}

Format für Eigenschaftsänderungen

Jede Nachricht oder jeder Datensatz stellt Änderungen an Geräte- und Cloudeigenschaften dar. Die exportierte Nachricht enthält folgende Informationen:

  • applicationId: Die ID der IoT Central-Anwendung.
  • messageSource: Die Quelle für die Nachricht (properties).
  • messageType: Entweder cloudPropertyChange, devicePropertyDesiredChange oder devicePropertyReportedChange
  • deviceId:Die ID des Geräts, von dem die Telemetrienachricht gesendet wurde.
  • schema: Den Namen und die Version des Nutzdatenschemas.
  • enqueuedTime: Den Zeitpunkt, zu dem diese Änderung von IoT Central erkannt wurde.
  • templateId: Die ID der Gerätevorlage, die dem Gerät zugewiesen ist
  • properties: Ein Array von Eigenschaften, die geändert wurden, einschließlich der Namen der geänderten Eigenschaften und Werte. Die Komponenten- und Modulinformationen werden eingeschlossen, wenn die Eigenschaft innerhalb einer Komponente oder eines IoT Edge-Moduls modelliert wird.
  • enrichments: Alle im Export eingerichteten Anreicherungen.

Bei Blob Storage werden Nachrichten im Batch zusammengefasst und einmal pro Minute exportiert.

Der folgende Codeschnipsel zeigt eine Meldung über die Eigenschaftsänderung, die an Blob Storage exportiert wird:

{
    "applicationId": "fb74969c-8682-4708-af01-33499a7f7d98",
    "messageSource": "properties",
    "deviceId": "Pepjmh1Hcc",
    "enqueuedTime": "2023-03-02T10:35:39.281Z",
    "enrichments": {},
    "messageType": "devicePropertyReportedChange",
    "schema": "default@v1",
    "templateId": "dtmi:azureiot:ddzig4ascxz",
    "properties": [
        {
            "component": "device_info",
            "name": "swVersion",
            "value": "12"
        },
        {
            "component": "device_info",
            "name": "osName",
            "value": "Android"
        },
        {
            "component": "device_info",
            "name": "processorArchitecture",
            "value": "arm64-v8a"
        },
        {
            "component": "device_info",
            "name": "processorManufacturer",
            "value": "unknown"
        }
    ]
}

Änderungsformat bei der Gerätekonnektivität

Jede Nachricht und jeder Datensatz stellt ein Konnektivitätsereignis von einem einzelnen Gerät dar. Die exportierte Nachricht enthält folgende Informationen:

  • applicationId: Die ID der IoT Central-Anwendung.
  • messageSource: Die Quelle für die Nachricht (deviceConnectivity).
  • messageType: Entweder connected oder disconnected
  • deviceId: Die ID des Geräts, das geändert wurde.
  • schema: Den Namen und die Version des Nutzdatenschemas.
  • templateId: Die ID der Gerätevorlage, die dem Gerät zugewiesen ist
  • enqueuedTime: Der Zeitpunkt, zu dem diese Änderung in IoT Central aufgetreten ist
  • enrichments: Alle im Export eingerichteten Anreicherungen.

Bei Blob Storage werden Nachrichten im Batch zusammengefasst und einmal pro Minute exportiert.

Das folgende Beispiel zeigt eine exportierte Gerätekonnektivitätsnachricht, die in Azure Blob Storage empfangen wurde.

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceConnectivity",
  "messageType": "connected",
  "deviceId": "1vzb5ghlsg1",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-04-05T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Format der Gerätelebenszyklusänderungen

Jede Nachricht bzw. jeder Datensatz stellt eine Änderung an einem einzelnen Gerät dar. Die exportierte Nachricht enthält folgende Informationen:

  • applicationId: Die ID der IoT Central-Anwendung.
  • messageSource: Die Quelle für die Nachricht (deviceLifecycle).
  • messageType: Der Typ des aufgetretenen Fehlers. Einer der Werte registered, deleted, provisioned, enabled, disabled, displayNameChanged oder deviceTemplateChanged.
  • deviceId: Die ID des Geräts, das geändert wurde.
  • schema: Den Namen und die Version des Nutzdatenschemas.
  • templateId: Die ID der Gerätevorlage, die dem Gerät zugewiesen ist
  • enqueuedTime: Der Zeitpunkt, zu dem diese Änderung in IoT Central aufgetreten ist
  • enrichments: Alle im Export eingerichteten Anreicherungen.

Bei Blob Storage werden Nachrichten im Batch zusammengefasst und einmal pro Minute exportiert.

Das folgende Beispiel zeigt eine exportierte Gerätelebenszyklusnachricht, die in Azure Blob Storage empfangen wurde:

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceLifecycle",
  "messageType": "registered",
  "deviceId": "1vzb5ghlsg1",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-01-01T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Format der Änderungen des Gerätevorlagenlebenszyklus

Jede Nachricht bzw. jeder Datensatz stellt eine Änderung an einer einzelnen veröffentlichten Gerätevorlage dar. Die exportierte Nachricht enthält folgende Informationen:

  • applicationId: Die ID der IoT Central-Anwendung.
  • messageSource: Die Quelle für die Nachricht (deviceTemplateLifecycle).
  • messageType: Entweder created, updated oder deleted
  • schema: Den Namen und die Version des Nutzdatenschemas.
  • templateId: Die ID der Gerätevorlage, die dem Gerät zugewiesen ist
  • enqueuedTime: Der Zeitpunkt, zu dem diese Änderung in IoT Central aufgetreten ist
  • enrichments: Alle im Export eingerichteten Anreicherungen.

Bei Blob Storage werden Nachrichten im Batch zusammengefasst und einmal pro Minute exportiert.

Das folgende Beispiel zeigt eine exportierte Gerätelebenszyklusnachricht, die in Azure Blob Storage empfangen wurde:

{
  "applicationId": "1dffa667-9bee-4f16-b243-25ad4151475e",
  "messageSource": "deviceTemplateLifecycle",
  "messageType": "created",
  "schema": "default@v1",
  "templateId": "urn:qugj6vbw5:___qbj_27r",
  "enqueuedTime": "2021-01-01T22:26:55.455Z",
  "enrichments": {
    "userSpecifiedKey": "sampleValue"
  }
}

Format der Überwachungsprotokolle

Jede Überwachungsprotokollmeldung stellt eine benutzerseitig ausgelöste Änderung an einer überprüfbaren Entität innerhalb der IoT Central-Anwendung dar. Die exportierte Nachricht enthält folgende Informationen:

  • actor: Informationen zu dem Benutzer, der die Entität geändert hat.
  • applicationId: Die ID der IoT Central-Anwendung.
  • messageSource: Die Quelle für die Nachricht (audit).
  • messageType: Der Typ des aufgetretenen Fehlers. Einer der folgenden Werte: updated, created, deleted.
  • updated: Nur vorhanden, wenn messageTypeupdated lautet. Bietet weitere Details zum Update.
  • resource: Details der geänderten Entität
  • schema: Den Namen und die Version des Nutzdatenschemas.
  • deviceId: Die ID des Geräts, das geändert wurde.
  • enqueuedTime: Der Zeitpunkt, zu dem diese Änderung in IoT Central aufgetreten ist
  • enrichments: Alle im Export eingerichteten Anreicherungen.

Das folgende Beispiel zeigt eine exportierte Überwachungsprotokollmeldung, die in Azure Blob Storage empfangen wurde:

{
  "actor": {
    "id": "test-audit",
    "type": "apiToken"
    },
  "applicationId": "570c2d7b-1111-2222-abcd-000000000000",
  "enqueuedTime": "2022-07-25T21:54:40.000Z",
  "enrichments": {},
  "messageSource": "audit",
  "messageType": "created",
  "resource": {
    "displayName": "Sensor 1",
    "id": "sensor",
    "type": "device"    
  },
  "schema": "default@v1"
}

Nächste Schritte

Nachdem Sie erfahren haben, wie Sie Daten in Blob Storage exportieren können, sollten Sie sich als Nächstes über das Exportieren in Service Bus informieren.