Export dat IoT do cloudových cílů pomocí exportu dat (starší verze)
Starší funkce exportu dat (Classic) je teď zastaralá a měli byste naplánovat migraci na novou funkci exportu dat. Starší verze exportu dat nemá důležité funkce, jako je dostupnost různých datových typů, filtrování a transformace zpráv. Porovnání exportu starších dat s exportem nových dat najdete v následující tabulce:
Schopnost | Starší verze exportu dat (klasický) | Export nových dat |
---|---|---|
Dostupné datové typy | Telemetrie, zařízení, šablony zařízení | Telemetrie, změny vlastností, změny připojení zařízení, změny životního cyklu zařízení, změny životního cyklu šablony zařízení |
Filtrování | Žádné | Závisí na exportovaných datových typech. Pro telemetrii, filtrování podle telemetrie, vlastností zpráv, hodnot vlastností |
Rozšiřování | Žádné | Obohacení o vlastní řetězec nebo hodnotu vlastnosti na zařízení |
Transformace | Žádné | Transformujte zprávu exportu na požadovaný obrazec. |
Cíle | Azure Event Hubs, fronty a témata Azure Service Bus Azure Blob Storage | Stejné jako u starší verze exportu dat a azure Data Explorer a webhooků |
Náchytná omezení | Pět exportů na aplikaci, jeden cíl na export | 10 připojení k cíli exportu na aplikaci |
Posouzení migrace
Pokud chcete migrovat starší verzi exportu dat (classic) na export nových dat, měli byste:
- Použijte testovací aplikaci IoT Central a vytvořte nový export dat se stejným datovým typem a cílem. Volitelně můžete použít funkci rozšiřování a transformace dat, aby se obrazec zprávy exportu podobil obrazci zprávy ze starší verze exportu dat.
- Jakmile jste otestovali nový export dat a jste připraveni přejít do produkčního prostředí, ujistěte se, že jsou bezpečně odebrány všechny pracovní postupy nebo závislosti na aktivních starších exportech dat.
- Vytvořte nové exporty dat v produkčních prostředích a ověřte, že zprávy exportu splňují vaše požadavky. Do nového exportu dat pak můžete přidat jakékoli pracovní postupy nebo závislosti.
- Po úspěšné migraci všech starších exportů dat na nové exporty dat můžete starší exporty dat odstranit.
Aspekty migrace datových typů
Výchozí formát dat se u datových typů liší mezi exportem starších dat a exportem nových dat. Další informace najdete v tématech Formáty dat pro nový export dat a Formáty dat pro export starších verzí dat. Při migraci na nový export dat byste u starší verze exportu dat měli odebrat všechny závislosti na formátu dat. Pokud ale máte silné závislosti nebo pracovní postupy spojené s exporty starších dat, následující aspekty vám můžou pomoct vyřešit případné problémy s migrací.
Telemetrie: Pokud se v novém exportu dat rozhodnete použít starší formát exportu dat pro telemetrii, můžete použít funkci transformace a vytvořit transformační dotaz podobný následujícímu příkladu:
.telemetry | map({ key: .name, value: .value }) | from_entries
Zařízení: Pokud aktuálně používáte starší export dat s datovým typem zařízení, můžete při novém exportu použít datové typy změny vlastností a události životního cyklu zařízení k exportu stejných dat. U obou datových typů můžete dosáhnout srovnatelné datové struktury pomocí následujícího transformačního dotazu:
approved: .device.approved,
provisioned: .device.provisioned,
simulated: .device.simulated,
cloudProperties: .device.cloudProperties | map({ key: .name, value: .value }) | from_entries,
displayName: .device.name,
id: .device.id,
instanceOf: .device.templateId,
properties: .device.properties.reported | map({ key: .name, value: .value }) | from_entries
Šablony zařízení: Pokud aktuálně používáte starší exporty dat s datovým typem šablon zařízení, můžete stejná data získat pomocí volání Šablony zařízení – Získat rozhraní API.
Důležité informace o cílové migraci
V novém exportu dat můžete vytvořit cíl a opakovaně ho používat v různých exportech dat. Při migraci ze starší verze exportu dat byste měli v nových exportech dat vytvořit cíle, které ukládají informace o stávajících starších cílech exportu dat.
Poznámka
Nový export dat nepodporuje export neplatných zpráv JSON.
Export dat IoT do cloudových cílů (starší verze)
Poznámka
Tento článek popisuje starší funkce exportu dat ve službě IoT Central.
Exporty starších dat (klasické) se plánují tak, že se vyřadí. Migrace všech starších exportů dat na nové exporty
Informace o nejnovějších funkcích exportu dat najdete v tématu Export dat IoT do cloudových cílů pomocí služby Blob Storage.
Tento článek popisuje, jak používat funkci exportu dat v Azure IoT Central. Tato funkce umožňuje nepřetržitě exportovat data do instancí Azure Event Hubs, Azure Service Bus nebo Azure Blob Storage. Export dat používá formát JSON a může zahrnovat telemetrii, informace o zařízení a informace o šabloně zařízení. Exportovaná data použijte pro:
- Teplé přehledy a analýzy. Tato možnost zahrnuje aktivaci vlastních pravidel v Azure Stream Analytics, aktivaci vlastních pracovních postupů v Azure Logic Apps nebo jejich předávání prostřednictvím Azure Functions k transformaci.
- Analýzy studených cest, jako jsou trénovací modely ve službě Azure Machine Learning nebo analýza dlouhodobých trendů v Microsoft Power BI.
Poznámka
Když zapnete export dat, získáte od této chvíle jenom data. V současné době se data nedají načíst po dobu, kdy byl export dat vypnutý. Pokud chcete zachovat více historických dat, zapněte export dat co nejdříve.
Požadavky
Musíte být správcem aplikace IoT Central nebo musíte mít oprávnění k exportu dat.
Nastavení cíle exportu
Cíl exportu musí existovat před konfigurací exportu dat.
Vytvoření oboru názvů Event Hubs
Pokud nemáte existující obor názvů služby Event Hubs, do které byste mohli exportovat, postupujte takto:
V Azure Portal vytvořte nový obor názvů služby Event Hubs. Další informace najdete v dokumentaci k Azure Event Hubs.
Zvolte předplatné. Data můžete exportovat do jiných předplatných, která nejsou ve stejném předplatném jako vaše aplikace IoT Central. V tomto případě se připojujete pomocí připojovacího řetězce.
Vytvořte centrum událostí v oboru názvů služby Event Hubs. Přejděte do svého oboru názvů a výběrem + Centrum událostí v horní části vytvořte instanci centra událostí.
Vytvoření oboru názvů služby Service Bus
Pokud nemáte existující obor názvů služby Service Bus, do které byste mohli exportovat, postupujte takto:
V Azure Portal vytvořte nový obor názvů služby Service Bus. Další informace najdete v dokumentaci k Azure Service Bus.
Zvolte předplatné. Data můžete exportovat do jiných předplatných, která nejsou ve stejném předplatném jako vaše aplikace IoT Central. V tomto případě se připojujete pomocí připojovacího řetězce.
Pokud chcete vytvořit frontu nebo téma, do které chcete exportovat, přejděte do svého oboru názvů služby Service Bus a vyberte + Fronta nebo + Téma.
Když jako cíl exportu zvolíte Service Bus, nesmí mít fronty a témata povolené relace ani vyhledávání duplicit. Pokud je některá z těchto možností povolená, některé zprávy do vaší fronty nebo tématu nedorazí.
Vytvoření účtu úložiště
Pokud ještě nemáte účet úložiště Azure, do které byste mohli exportovat, postupujte takto:
V Azure Portal vytvořte nový účet úložiště. Můžete si přečíst další informace o vytváření nových účtů úložiště Azure Blob storage nebo Azure Data Lake Storage účtů úložiště v2. Export dat může zapisovat data jenom do účtů úložiště, které podporují objekty blob bloku. Následující seznam obsahuje známé kompatibilní typy účtů úložiště:
Úroveň výkonu Typ účtu Standard Pro obecné účely V2 Standard Pro obecné účely V1 Standard Blob Storage Premium Úložiště objektů blob bloku Vytvořte kontejner v účtu úložiště. Přejděte k účtu úložiště. V části Blob Service vyberte Procházet objekty blob. V horní části vyberte + Kontejner a vytvořte nový kontejner.
Nastavení exportu dat
Teď, když máte cíl, do kterého chcete exportovat data, nastavte export dat podle těchto kroků.
Přihlaste se k aplikaci IoT Central.
V levém podokně vyberte Export dat.
Tip
Pokud v levém podokně nevidíte možnost Export dat , nemáte oprávnění ke konfiguraci exportu dat v aplikaci. Požádejte správce o nastavení exportu dat.
Vyberte tlačítko + Nový . Jako cíl exportu vyberte Azure Blob Storage, Azure Event Hubs, frontu Azure Service Bus nebo téma Azure Service Bus. Maximální počet exportů na aplikaci je pět.
Zadejte název exportu. V rozevíracím seznamu vyberte obor názvů nebo zadejte připojovací řetězec.
Tip
Účty úložiště, obory názvů Služby Event Hubs a obory názvů služby Service Bus se zobrazují jenom ve stejném předplatném jako vaše aplikace IoT Central. Pokud chcete exportovat do cíle mimo toto předplatné, zvolte Zadat připojovací řetězec a podívejte se na krok 6.
V rozevíracím seznamu zvolte centrum událostí, frontu, téma nebo kontejner.
(Volitelné) Pokud jste zvolili Zadat připojovací řetězec, zobrazí se nové pole pro vložení připojovacího řetězce. Získání připojovacího řetězce pro vaše zařízení:
- Event Hubs nebo Service Bus, přejděte do oboru názvů v Azure Portal:
- Použití připojovacího řetězce pro celý obor názvů:
- V části Nastavení vyberte Zásady sdíleného přístupu.
- Vytvořte nový klíč nebo zvolte existující klíč s oprávněními Odeslat .
- Zkopírování primárního nebo sekundárního připojovacího řetězce
- Pokud chcete použít připojovací řetězec pro konkrétní instanci centra událostí nebo frontu nebo téma služby Service Bus, přejděte do > části Entity Event Hubs nebo Entity > Queues nebo Entities > Témata. Zvolte konkrétní instanci a stejným postupem získáte připojovací řetězec.
- Použití připojovacího řetězce pro celý obor názvů:
- Účet úložiště, přejděte na účet úložiště v Azure Portal:
- Podporují se jenom připojovací řetězce pro celý účet úložiště. Připojovací řetězce s oborem na jeden kontejner se nepodporují.
- V části Nastavení vyberte Přístupové klíče.
- Zkopírujte připojovací řetězec key1 nebo připojovací řetězec key2.
- Podporují se jenom připojovací řetězce pro celý účet úložiště. Připojovací řetězce s oborem na jeden kontejner se nepodporují.
Vložte připojovací řetězec. Zadejte název kontejneru instance nebo rozlišující malá a velká písmena.
- Event Hubs nebo Service Bus, přejděte do oboru názvů v Azure Portal:
V části Data k exportu zvolte typy dat, které chcete exportovat, nastavením typu na Zapnuto.
Pokud chcete zapnout export dat, ujistěte se, že je přepínač Povolenozapnutý. Vyberte Uložit.
Po několika minutách se vaše data zobrazí ve zvoleném cíli.
Export obsahu a formátu
Exportovaná telemetrická data obsahují celou zprávu, kterou vaše zařízení odeslala do IoT Central, nejen samotné hodnoty telemetrie. Exportovaná data zařízení obsahují změny vlastností a metadat všech zařízení a exportované šablony zařízení obsahují změny všech šablon zařízení.
V případě služby Event Hubs a Service Bus se data exportují téměř v reálném čase. Data jsou ve body
vlastnosti a jsou ve formátu JSON. Příklady najdete níže.
V případě úložiště objektů blob se data exportují jednou za minutu, přičemž každý soubor obsahuje dávku změn od posledního exportovaného souboru. Exportovaná data se umístí do tří složek ve formátu JSON. Výchozí cesty v účtu úložiště jsou:
- Telemetrie: {container}/{app-id}/telemetry/{YYYY}/{MM}/{dd}/{hh}/{mm}/{filename}
- Zařízení: {container}/{app-id}/devices/{YYYY}/{MM}/{dd}/{hh}/{mm}/{název_souboru}
- Šablony zařízení: {container}/{app-id}/deviceTemplates/{YYYY}/{MM}/{dd}/{hh}/{mm}/{název_souboru}
Pokud chcete procházet exportované soubory v Azure Portal, přejděte na soubor a vyberte kartu Upravit objekt blob.
Telemetrie
V případě služby Event Hubs a Service Bus exportuje IoT Central novou zprávu rychle po přijetí zprávy ze zařízení. Každá exportovaná zpráva obsahuje úplnou zprávu, kterou zařízení odeslalo ve vlastnosti body ve formátu JSON.
V případě úložiště objektů blob se zprávy dávkují a exportují jednou za minutu. Exportované soubory používají stejný formát jako soubory zpráv exportované IoT Hub směrování zpráv do úložiště objektů blob.
Poznámka
V případě úložiště objektů blob se ujistěte, že vaše zařízení odesílají zprávy, které obsahují contentType: application/JSON
a contentEncoding:utf-8
(nebo utf-16
). utf-32
Příklad najdete v dokumentaci k IoT Hub.
Zařízení, které odesílala telemetrii, je reprezentováno ID zařízení (viz následující části). Pokud chcete získat názvy zařízení, exportujte data zařízení a korelujte každou zprávu pomocí connectionDeviceId , které odpovídá deviceId zprávy zařízení.
Následující příklad ukazuje zprávu přijatou z centra událostí nebo z fronty nebo tématu služby Service Bus:
{
"temp":81.129693132351775,
"humid":59.488071477541247,
"EventProcessedUtcTime":"2020-04-07T09:41:15.2877981Z",
"PartitionId":0,
"EventEnqueuedUtcTime":"2020-04-07T09:38:32.7380000Z"
}
Tato zpráva neobsahuje ID zařízení odesílajícího zařízení.
Pokud chcete načíst ID zařízení z dat zpráv v dotazu Azure Stream Analytics, použijte funkci GetMetadataPropertyValue . Příklad najdete v tématu Rozšíření Azure IoT Central o vlastní pravidla pomocí Stream Analytics, Azure Functions a SendGrid.
Pokud chcete načíst ID zařízení v pracovním prostoru Azure Databricks nebo Apache Sparku, použijte systemProperties. Příklad najdete v pracovním prostoru Databricks v tématu Rozšíření Azure IoT Central o vlastní analýzy pomocí Azure Databricks.
Následující příklad ukazuje záznam exportovaný do úložiště objektů blob:
{
"EnqueuedTimeUtc":"2019-09-26T17:46:09.8870000Z",
"Properties":{
},
"SystemProperties":{
"connectionDeviceId":"<deviceid>",
"connectionAuthMethod":"{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
"connectionDeviceGenerationId":"637051167384630591",
"contentType":"application/json",
"contentEncoding":"utf-8",
"enqueuedTime":"2019-09-26T17:46:09.8870000Z"
},
"Body":{
"temp":49.91322758395974,
"humid":49.61214852573155,
"pm25":25.87332214661367
}
}
Zařízení
Každá zpráva nebo záznam ve snímku představuje jednu nebo více změn zařízení a jeho vlastností zařízení a cloudu od poslední exportované zprávy. Zpráva obsahuje:
id
zařízení ve službě IoT CentraldisplayName
zařízení- ID šablony zařízení v
instanceOf
simulated
příznak, true, pokud je zařízení simulované zařízeníprovisioned
příznak, true, pokud bylo zařízení zřízenoapproved
příznak true, pokud bylo zařízení schváleno k odesílání dat- Hodnoty vlastností
properties
včetně hodnot vlastností zařízení a cloudu
Odstraněná zařízení se neexportují. V současné době nejsou v exportovaných zprávách žádné indikátory pro odstraněná zařízení.
V případě služby Event Hubs a Service Bus odesílá IoT Central zprávy obsahující data zařízení do centra událostí nebo fronty nebo tématu služby Service Bus téměř v reálném čase.
V případě úložiště objektů blob se nový snímek obsahující všechny změny od posledního zápisu exportuje jednou za minutu.
Následující příklad zprávy zobrazuje informace o datech zařízení a vlastností v centru událostí, frontě nebo tématu služby Service Bus:
{
"body":{
"id": "<device Id>",
"etag": "<etag>",
"displayName": "Sensor 1",
"instanceOf": "<device template Id>",
"simulated": false,
"provisioned": true,
"approved": true,
"properties": {
"sensorComponent": {
"setTemp": "30",
"fwVersion": "2.0.1",
"status": { "first": "first", "second": "second" },
"$metadata": {
"setTemp": {
"desiredValue": "30",
"desiredVersion": 3,
"desiredTimestamp": "2020-02-01T17:15:08.9284049Z",
"ackVersion": 3
},
"fwVersion": { "ackVersion": 3 },
"status": {
"desiredValue": {
"first": "first",
"second": "second"
},
"desiredVersion": 2,
"desiredTimestamp": "2020-02-01T17:15:08.9284049Z",
"ackVersion": 2
}
},
}
},
"installDate": { "installDate": "2020-02-01" }
},
"annotations":{
"iotcentral-message-source":"devices",
"x-opt-partition-key":"<partitionKey>",
"x-opt-sequence-number":39740,
"x-opt-offset":"<offset>",
"x-opt-enqueued-time":1539274959654
},
"partitionKey":"<partitionKey>",
"sequenceNumber":39740,
"enqueuedTimeUtc":"2020-02-01T18:14:49.3820326Z",
"offset":"<offset>"
}
Tento snímek je ukázkovou zprávou, která zobrazuje data zařízení a vlastností ve službě Blob Storage. Exportované soubory obsahují jeden řádek na záznam.
{
"id": "<device Id>",
"etag": "<etag>",
"displayName": "Sensor 1",
"instanceOf": "<device template Id>",
"simulated": false,
"provisioned": true,
"approved": true,
"properties": {
"sensorComponent": {
"setTemp": "30",
"fwVersion": "2.0.1",
"status": { "first": "first", "second": "second" },
"$metadata": {
"setTemp": {
"desiredValue": "30",
"desiredVersion": 3,
"desiredTimestamp": "2020-02-01T17:15:08.9284049Z",
"ackVersion": 3
},
"fwVersion": { "ackVersion": 3 },
"status": {
"desiredValue": {
"first": "first",
"second": "second"
},
"desiredVersion": 2,
"desiredTimestamp": "2020-02-01T17:15:08.9284049Z",
"ackVersion": 2
}
},
}
},
"installDate": { "installDate": "2020-02-01" }
}
Šablony zařízení
Každá zpráva nebo záznam snímku představuje jednu nebo více změn publikované šablony zařízení od poslední exportované zprávy. Informace odeslané v každé zprávě nebo záznamu zahrnují:
id
šablony zařízení, která odpovídáinstanceOf
výše uvedenému datovému proudu zařízenídisplayName
šablony zařízení- Zařízení
capabilityModel
včetně jehointerfaces
a definic telemetrie, vlastností a příkazů cloudProperties
Definice- Přepsání a počáteční hodnoty, vložené s
capabilityModel
Odstraněné šablony zařízení se neexportují. V současné době nejsou v exportovaných zprávách žádné indikátory pro odstraněné šablony zařízení.
V případě služby Event Hubs a Service Bus odesílá IoT Central zprávy obsahující data šablony zařízení do centra událostí nebo fronty nebo tématu služby Service Bus téměř v reálném čase.
V případě úložiště objektů blob se nový snímek obsahující všechny změny od posledního zápisu exportuje jednou za minutu.
Tento příklad ukazuje zprávu o datech šablon zařízení v centru událostí, frontě nebo tématu služby Service Bus:
{
"body":{
"id": "<device template id>",
"etag": "<etag>",
"types": ["DeviceModel"],
"displayName": "Sensor template",
"capabilityModel": {
"@id": "<capability model id>",
"@type": ["CapabilityModel"],
"contents": [],
"implements": [
{
"@id": "<component Id>",
"@type": ["InterfaceInstance"],
"name": "sensorComponent",
"schema": {
"@id": "<interface Id>",
"@type": ["Interface"],
"displayName": "Sensor interface",
"contents": [
{
"@id": "<id>",
"@type": ["Telemetry"],
"displayName": "Humidity",
"name": "humidity",
"schema": "double"
},
{
"@id": "<id>",
"@type": ["Telemetry", "SemanticType/Event"],
"displayName": "Error event",
"name": "error",
"schema": "integer"
},
{
"@id": "<id>",
"@type": ["Property"],
"displayName": "Set temperature",
"name": "setTemp",
"writable": true,
"schema": "integer",
"unit": "Units/Temperature/fahrenheit",
"initialValue": "30"
},
{
"@id": "<id>",
"@type": ["Property"],
"displayName": "Firmware version read only",
"name": "fwversion",
"schema": "string"
},
{
"@id": "<id>",
"@type": ["Property"],
"displayName": "Display status",
"name": "status",
"writable": true,
"schema": {
"@id": "urn:testInterface:status:obj:ka8iw8wka:1",
"@type": ["Object"]
}
},
{
"@id": "<id>",
"@type": ["Command"],
"request": {
"@id": "<id>",
"@type": ["SchemaField"],
"displayName": "Configuration",
"name": "config",
"schema": "string"
},
"response": {
"@id": "<id>",
"@type": ["SchemaField"],
"displayName": "Response",
"name": "response",
"schema": "string"
},
"displayName": "Configure sensor",
"name": "sensorConfig"
}
]
}
}
],
"displayName": "Sensor capability model"
},
"solutionModel": {
"@id": "<id>",
"@type": ["SolutionModel"],
"cloudProperties": [
{
"@id": "<id>",
"@type": ["CloudProperty"],
"displayName": "Install date",
"name": "installDate",
"schema": "dateTime",
"valueDetail": {
"@id": "<id>",
"@type": ["ValueDetail/DateTimeValueDetail"]
}
}
]
}
},
"annotations":{
"iotcentral-message-source":"deviceTemplates",
"x-opt-partition-key":"<partitionKey>",
"x-opt-sequence-number":25315,
"x-opt-offset":"<offset>",
"x-opt-enqueued-time":1539274985085
},
"partitionKey":"<partitionKey>",
"sequenceNumber":25315,
"enqueuedTimeUtc":"2019-10-02T16:23:05.085Z",
"offset":"<offset>"
}
}
Tento ukázkový snímek ukazuje zprávu, která obsahuje data zařízení a vlastností ve službě Blob Storage. Exportované soubory obsahují jeden řádek na záznam.
{
"id": "<device template id>",
"etag": "<etag>",
"types": ["DeviceModel"],
"displayName": "Sensor template",
"capabilityModel": {
"@id": "<capability model id>",
"@type": ["CapabilityModel"],
"contents": [],
"implements": [
{
"@id": "<component Id>",
"@type": ["InterfaceInstance"],
"name": "Sensor component",
"schema": {
"@id": "<interface Id>",
"@type": ["Interface"],
"displayName": "Sensor interface",
"contents": [
{
"@id": "<id>",
"@type": ["Telemetry"],
"displayName": "Humidity",
"name": "humidity",
"schema": "double"
},
{
"@id": "<id>",
"@type": ["Telemetry", "SemanticType/Event"],
"displayName": "Error event",
"name": "error",
"schema": "integer"
},
{
"@id": "<id>",
"@type": ["Property"],
"displayName": "Set temperature",
"name": "setTemp",
"writable": true,
"schema": "integer",
"unit": "Units/Temperature/fahrenheit",
"initialValue": "30"
},
{
"@id": "<id>",
"@type": ["Property"],
"displayName": "Firmware version read only",
"name": "fwversion",
"schema": "string"
},
{
"@id": "<id>",
"@type": ["Property"],
"displayName": "Display status",
"name": "status",
"writable": true,
"schema": {
"@id": "urn:testInterface:status:obj:ka8iw8wka:1",
"@type": ["Object"]
}
},
{
"@id": "<id>",
"@type": ["Command"],
"request": {
"@id": "<id>",
"@type": ["SchemaField"],
"displayName": "Configuration",
"name": "config",
"schema": "string"
},
"response": {
"@id": "<id>",
"@type": ["SchemaField"],
"displayName": "Response",
"name": "response",
"schema": "string"
},
"displayName": "Configure sensor",
"name": "sensorconfig"
}
]
}
}
],
"displayName": "Sensor capability model"
},
"solutionModel": {
"@id": "<id>",
"@type": ["SolutionModel"],
"cloudProperties": [
{
"@id": "<id>",
"@type": ["CloudProperty"],
"displayName": "Install date",
"name": "installDate",
"schema": "dateTime",
"valueDetail": {
"@id": "<id>",
"@type": ["ValueDetail/DateTimeValueDetail"]
}
}
]
}
}
Oznámení o změně formátu dat
Poznámka
Formát dat streamu telemetrie není touto změnou ovlivněn. Týká se to jenom datových proudů zařízení a šablon zařízení.
Pokud máte v aplikaci Preview existující export dat se zapnutými datovými proudy šablon zařízení a zařízení , aktualizujte export do 30. června 2020. Tento požadavek platí pro exporty do služby Azure Blob Storage, Azure Event Hubs a Azure Service Bus.
Od 3. února 2020 budou mít všechny nové exporty v aplikacích s povolenými šablonami zařízení a zařízení formát dat popsaný výše. Všechny exporty vytvořené před tímto datem zůstanou ve starém datovém formátu až do 30. června 2020, kdy se tyto exporty automaticky migrují do nového formátu dat. Nový formát dat odpovídá objektu zařízení, vlastnosti zařízení a objektům šablony zařízení ve veřejném rozhraní API služby IoT Central.
Mezi rozdíly mezi starým a novým datovým formátem zařízení patří:
@id
pro zařízení se odebere,deviceId
přejmenuje se naid
provisioned
Přidá se příznak popisující stav zřizování zařízení.approved
Přidá se příznak, který popisuje stav schválení zařízení.properties
včetně vlastností zařízení a cloudu, odpovídá entitě ve veřejném rozhraní API.
Mezi rozdíly mezi starým a novým datovým formátem pro šablony zařízení patří:
@id
pro šablonu zařízení se přejmenuje naid
@type
u šablony zařízení se přejmenuje natypes
a teď se jedná o pole.
Zařízení (formát zastaralý od 3. února 2020)
{
"@id":"<id-value>",
"@type":"Device",
"displayName":"Airbox",
"data":{
"$cloudProperties":{
"Color":"blue"
},
"EnvironmentalSensor":{
"thsensormodel":{
"reported":{
"value":"Neque quia et voluptatem veritatis assumenda consequuntur quod.",
"$lastUpdatedTimestamp":"2019-09-30T20:35:43.8478978Z"
}
},
"pm25sensormodel":{
"reported":{
"value":"Aut alias odio.",
"$lastUpdatedTimestamp":"2019-09-30T20:35:43.8478978Z"
}
}
},
"urn_azureiot_DeviceManagement_DeviceInformation":{
"totalStorage":{
"reported":{
"value":27900.9730905171,
"$lastUpdatedTimestamp":"2019-09-30T20:35:43.8478978Z"
}
},
"totalMemory":{
"reported":{
"value":4667.82916715811,
"$lastUpdatedTimestamp":"2019-09-30T20:35:43.8478978Z"
}
}
}
},
"instanceOf":"<template-id>",
"deviceId":"<device-id>",
"simulated":true
}
Šablony zařízení (formát zastaralý od 3. února 2020)
{
"@id":"<template-id>",
"@type":"DeviceModelDefinition",
"displayName":"Airbox",
"capabilityModel":{
"@id":"<id>",
"@type":"CapabilityModel",
"implements":[
{
"@id":"<id>",
"@type":"InterfaceInstance",
"name":"EnvironmentalSensor",
"schema":{
"@id":"<id>",
"@type":"Interface",
"comment":"Requires temperature and humidity sensors.",
"description":"Provides functionality to report temperature, humidity. Provides telemetry, commands and read-write properties",
"displayName":"Environmental Sensor",
"contents":[
{
"@id":"<id>",
"@type":"Telemetry",
"description":"Current temperature on the device",
"displayName":"Temperature",
"name":"temp",
"schema":"double",
"unit":"Units/Temperature/celsius",
"valueDetail":{
"@id":"<id>",
"@type":"ValueDetail/NumberValueDetail",
"minValue":{
"@value":"50"
}
},
"visualizationDetail":{
"@id":"<id>",
"@type":"VisualizationDetail"
}
},
{
"@id":"<id>",
"@type":"Telemetry",
"description":"Current humidity on the device",
"displayName":"Humidity",
"name":"humid",
"schema":"integer"
},
{
"@id":"<id>",
"@type":"Telemetry",
"description":"Current PM2.5 on the device",
"displayName":"PM2.5",
"name":"pm25",
"schema":"integer"
},
{
"@id":"<id>",
"@type":"Property",
"description":"T&H Sensor Model Name",
"displayName":"T&H Sensor Model",
"name":"thsensormodel",
"schema":"string"
},
{
"@id":"<id>",
"@type":"Property",
"description":"PM2.5 Sensor Model Name",
"displayName":"PM2.5 Sensor Model",
"name":"pm25sensormodel",
"schema":"string"
}
]
}
},
{
"@id":"<id>",
"@type":"InterfaceInstance",
"name":"urn_azureiot_DeviceManagement_DeviceInformation",
"schema":{
"@id":"<id>",
"@type":"Interface",
"displayName":"Device information",
"contents":[
{
"@id":"<id>",
"@type":"Property",
"comment":"Total available storage on the device in kilobytes. Ex. 20480000 kilobytes.",
"displayName":"Total storage",
"name":"totalStorage",
"displayUnit":"kilobytes",
"schema":"long"
},
{
"@id":"<id>",
"@type":"Property",
"comment":"Total available memory on the device in kilobytes. Ex. 256000 kilobytes.",
"displayName":"Total memory",
"name":"totalMemory",
"displayUnit":"kilobytes",
"schema":"long"
}
]
}
}
],
"displayName":"AAEONAirbox52"
},
"solutionModel":{
"@id":"<id>",
"@type":"SolutionModel",
"cloudProperties":[
{
"@id":"<id>",
"@type":"CloudProperty",
"displayName":"Color",
"name":"Color",
"schema":"string",
"valueDetail":{
"@id":"<id>",
"@type":"ValueDetail/StringValueDetail"
},
"visualizationDetail":{
"@id":"<id>",
"@type":"VisualizationDetail"
}
}
]
}
}
Další kroky
Teď, když víte, jak exportovat data do Azure Event Hubs, Azure Service Bus a Azure Blob Storage, pokračujte dalším krokem: