Školení
Postup výuky
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Tento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Tento článek popisuje, jak nakonfigurovat export dat tak, aby odesílala data do služby Blob Storage.
Pomocí této funkce můžete průběžně exportovat filtrovaná a rozšířená data IoT z vaší aplikace IoT Central. Export dat nasdílí změny téměř v reálném čase do jiných částí cloudového řešení pro přehledy teplé cesty, analýzy a úložiště.
Je například možné:
Tip
Když zapnete export dat, získáte od této chvíle jenom data. Pokud chcete zachovat historická data, zapněte export dat v rané fázi. Pokud chcete data ručně exportovat z časů, kdy byl export dat vypnutý, přečtěte si téma Použití rozhraní IoT Central REST API k dotazování zařízení.
Poznámka
V některých případech může trvat až 60 sekund, než se zprávy exportují. Tento čas se měří od okamžiku, kdy IoT Central obdrží zprávu ze základního centra IoT do okamžiku doručení zprávy do cílového koncového bodu.
Pokud chcete používat funkce exportu dat, musíte mít oprávnění k exportu dat.
Informace o správě exportu dat pomocí rozhraní IOT Central REST API najdete v tématu Použití rozhraní IOT Central REST API ke správě exportů dat.
IoT Central exportuje data jednou za minutu, přičemž každý soubor obsahující dávku změn od předchozího exportu. Exportovaná data se ukládají ve formátu JSON. Výchozí cesty k exportovaným datům v účtu úložiště jsou:
Pokud chcete procházet exportované soubory na webu Azure Portal, přejděte do souboru a vyberte Upravit objekt blob.
Cíle blob Storage umožňují nakonfigurovat připojení s připojovací řetězec nebo spravovanou identitou.
Tip
Pokud je cíl služby Blob Storage chráněný bránou firewall, musíte k němu použít spravovanou identitu.
Spravované identity jsou bezpečnější, protože:
IoT Central aktuálně používá spravované identity přiřazené systémem.
Při konfiguraci spravované identity zahrnuje konfigurace obor a roli:
Následující video obsahuje další informace o spravovaných identitách přiřazených systémem:
Upozornění
Pokud chcete exportovat do úložiště objektů blob, nepoužívejte přispěvatele účtu úložiště, jak je znázorněno ve videu. Místo toho použijte roli Přispěvatel dat v objektu blob služby Storage.
Tento článek ukazuje, jak vytvořit spravovanou identitu pomocí Azure CLI. K vytvoření mangované identity můžete také použít Azure Portal.
Pokud nemáte existující účet úložiště Azure k exportu, spusťte následující skript v prostředí Bash služby Azure Cloud Shell. Skript vytvoří skupinu prostředků, účet služby Azure Storage a kontejner objektů blob. Skript pak povolí spravovanou identitu pro vaši aplikaci IoT Central a přiřadí roli, která potřebuje pro přístup k vašemu účtu úložiště:
# 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"
Další informace o vytváření nových účtů Azure Blob Storage nebo účtů úložiště Azure Data Lake Storage v2. Export dat může zapisovat pouze data do účtů úložiště, které podporují objekty blob bloku. Následující tabulka uvádí známé typy kompatibilních účtů úložiště:
Úroveň výkonu | Typ účtu |
---|---|
Standard | Obecné účely V2 |
Standard | Obecné účely V1 |
Standard | Blob Storage |
Premium | Úložiště objektů blob bloku |
Pokud chcete dál zabezpečit kontejner objektů blob a povolit přístup jenom z důvěryhodných služeb se spravovanými identitami, přečtěte si téma Export dat do zabezpečeného cíle ve službě Azure Virtual Network.
Vytvoření cíle služby Blob Storage ve službě IoT Central na stránce exportu dat:
Vyberte + Nový cíl.
Jako cílový typ vyberte Azure Blob Storage .
Jako typ autorizace vyberte spravovanou identitu přiřazenou systémem.
Zadejte identifikátor URI koncového bodu pro váš účet úložiště a název kontejneru rozlišující malá a velká písmena. Identifikátor URI koncového bodu vypadá takto: https://contosowaste.blob.core.windows.net
.
Zvolte Uložit.
Pokud nevidíte data přicházející do cílové služby, přečtěte si téma Řešení potíží s exporty dat z aplikace Azure IoT Central.
Teď, když máte cíl exportovat data do, nastavte export dat v aplikaci IoT Central:
Přihlaste se k aplikaci IoT Central.
V levém podokně vyberte Export dat.
Tip
Pokud v levém podokně nevidíte export dat, nemáte oprávnění ke konfiguraci exportu dat v aplikaci. Požádejte správce o nastavení exportu dat.
Vyberte + Nový export.
Zadejte zobrazovaný název nového exportu a ujistěte se, že je export dat povolený.
Zvolte typ dat, která chcete exportovat. Následující tabulka uvádí podporované typy exportu dat:
Datový typ | Popis | Formát dat |
---|---|---|
Telemetrie | Exportujte telemetrické zprávy ze zařízení téměř v reálném čase. Každá exportovaná zpráva obsahuje úplný obsah původní zprávy o zařízení, normalizované. | Formát zprávy telemetrie |
Změny vlastností | Export změn do vlastností zařízení a cloudu téměř v reálném čase U vlastností zařízení jen pro čtení se exportují změny ohlášených hodnot. U vlastností pro čtení i zápis se vyexportují hlášené i požadované hodnoty. | Změna formátu zprávy vlastnosti |
Připojení zařízení | Exportujte události připojené k zařízení a odpojené události. | Formát zprávy připojení zařízení |
Životní cyklus zařízení | Exportujte registrované, odstraněné, zřízené, povolené, zakázané, displayNameChanged a události deviceTemplateChanged. | Formát zprávy o změně životního cyklu zařízení |
Životní cyklus šablony zařízení | Exportujte publikované změny šablony zařízení, včetně vytvořených, aktualizovaných a odstraněných. | Změna formátu zprávy o životním cyklu šablony zařízení |
Protokoly auditu | Protokoly aktualizací iniciovaných uživatelem u entit v aplikaci Další informace najdete v tématu Použití protokolů auditu ke sledování aktivit v aplikaci IoT Central. | Formát zprávy protokolu auditu |
Volitelně můžete přidat filtry, abyste snížili množství exportovaných dat. Pro každý typ exportu dat jsou k dispozici různé typy filtrů:
Typ dat | Dostupné filtry |
---|---|
Telemetrie |
|
Změny vlastností |
|
Připojení zařízení |
|
Životní cyklus zařízení |
|
Životní cyklus šablony zařízení |
|
Protokoly auditu | – |
Volitelně můžete rozšířit exportované zprávy o metadata páru klíč-hodnota navíc. Pro telemetrii, změny vlastností, připojení zařízení a typy exportu dat životního cyklu zařízení jsou k dispozici následující rozšíření:
Nakonfigurujte cíl exportu:
Vyberte + Cíl a přidejte cíl, který jste už vytvořili, nebo vyberte Vytvořit nový.
Pokud chcete data před exportem transformovat, vyberte + Transformovat. Další informace najdete v tématu Transformace dat uvnitř aplikace IoT Central pro export.
Pokud chcete do jednoho exportu přidat až pět cílů, vyberte + Cíl .
Až dokončíte nastavení exportu, vyberte Uložit. Po několika minutách se vaše data zobrazí ve vašich cílech.
Na stránce exportu dat ve službě IoT Central můžete zkontrolovat stav exportů. Pomocí služby Azure Monitor můžete také zjistit, kolik dat exportujete, a případné chyby exportu. K exportu a metrikám stavu zařízení můžete přistupovat v grafech na webu Azure Portal pomocí rozhraní REST API, dotazů v PowerShellu nebo Azure CLI. V současné době můžete monitorovat následující metriky exportu dat ve službě Azure Monitor:
Další informace najdete v tématu Monitorování stavu aplikace.
Následující části popisují formáty exportovaných dat:
Každá exportovaná zpráva obsahuje normalizovanou formu celé zprávy, kterou zařízení odeslalo v textu zprávy. Zpráva je ve formátu JSON a kódovaná jako UTF-8. Informace v každé zprávě zahrnují:
applicationId
: ID aplikace IoT Central.messageSource
: Zdroj zprávy - telemetry
.deviceId
: ID zařízení, které odeslalo zprávu telemetrie.schema
: Název a verze schématu datové části.templateId
: ID šablony zařízení přiřazené k zařízení.enqueuedTime
: Čas, kdy služba IoT Central přijala tuto zprávu.enrichments
: Všechny rozšiřování nastavené pro export.module
: Modul IoT Edge, který tuto zprávu odeslal. Toto pole se zobrazí jenom v případě, že zpráva pochází z modulu IoT Edge.component
: Komponenta, která tuto zprávu odeslala. Toto pole se zobrazí pouze v případě, že funkce odeslané ve zprávě byly modelovány jako součást v šabloně zařízení.messageProperties
: Další vlastnosti, které zařízení odeslalo se zprávou. Tyto vlastnosti se někdy označují jako vlastnosti aplikace.
Další informace najdete v dokumentaci ke službě IoT Hub.V případě služby Blob Storage se zprávy dávkovají a exportují jednou za minutu.
Následující příklad ukazuje exportovanou zprávu telemetrie:
{
"applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"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"
}
}
Zprávy telemetrie mají vlastnosti pro metadata i datovou část telemetrie. Předchozí fragment kódu ukazuje příklady systémových zpráv, například deviceId
a enqueuedTime
. Další informace o vlastnostech systémových zpráv najdete v tématu Systémové vlastnosti zpráv ioT Hubu typu zařízení-cloud.
Pokud potřebujete do zpráv telemetrie přidat vlastní metadata, můžete do zpráv telemetrie přidat vlastnosti. Když například zařízení vytvoří zprávu, musíte přidat časové razítko.
Následující fragment kódu ukazuje, jak přidat iothub-creation-time-utc
vlastnost do zprávy při jejím vytvoření na zařízení:
Důležité
Formát tohoto časového razítka musí být UTC bez informací o časovém pásmu. Je například 2021-04-21T11:30:16Z
platný, 2021-04-21T11:30:16-07:00
je neplatný.
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);
}
Každá zpráva nebo záznam představuje změny vlastností zařízení a cloudu. Informace v exportované zprávě zahrnují:
applicationId
: ID aplikace IoT Central.messageSource
: Zdroj zprávy - properties
.messageType
: Buď cloudPropertyChange
, devicePropertyDesiredChange
nebo devicePropertyReportedChange
.deviceId
: ID zařízení, které odeslalo zprávu telemetrie.schema
: Název a verze schématu datové části.enqueuedTime
: Čas, kdy Služba IoT Central tuto změnu zjistila.templateId
: ID šablony zařízení přiřazené k zařízení.properties
: Pole vlastností, které se změnily, včetně názvů vlastností a hodnot, které se změnily. Informace o komponentě a modulu jsou zahrnuty, pokud je vlastnost modelována v rámci komponenty nebo modulu IoT Edge.enrichments
: Všechny rozšiřování nastavené pro export.V případě služby Blob Storage se zprávy dávkovají a exportují jednou za minutu.
Následující fragment kódu ukazuje zprávu o změně vlastnosti exportované do služby Blob Storage:
{
"applicationId": "11112222-bbbb-3333-cccc-4444dddd5555",
"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"
}
]
}
Každá zpráva nebo záznam představuje událost připojení z jednoho zařízení. Informace v exportované zprávě zahrnují:
applicationId
: ID aplikace IoT Central.messageSource
: Zdroj zprávy - deviceConnectivity
.messageType
: Buď connected
nebo disconnected
.deviceId
: ID zařízení, které se změnilo.schema
: Název a verze schématu datové části.templateId
: ID šablony zařízení přiřazené k zařízení.enqueuedTime
: Čas, kdy k této změně došlo v IoT Central.enrichments
: Všechny rozšiřování nastavené pro export.V případě služby Blob Storage se zprávy dávkovají a exportují jednou za minutu.
Následující příklad ukazuje zprávu o připojení exportovaného zařízení přijatou ve službě Azure Blob Storage.
{
"applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"messageSource": "deviceConnectivity",
"messageType": "connected",
"deviceId": "1vzb5ghlsg1",
"schema": "default@v1",
"templateId": "urn:qugj6vbw5:___qbj_27r",
"enqueuedTime": "2021-04-05T22:26:55.455Z",
"enrichments": {
"userSpecifiedKey": "sampleValue"
}
}
Každá zpráva nebo záznam představuje jednu změnu jednoho zařízení. Informace v exportované zprávě zahrnují:
applicationId
: ID aplikace IoT Central.messageSource
: Zdroj zprávy - deviceLifecycle
.messageType
: Typ změny, ke které došlo. Jeden z: registered
, deleted
, , enabled
provisioned
, disabled
, , displayNameChanged
, a deviceTemplateChanged
.deviceId
: ID zařízení, které se změnilo.schema
: Název a verze schématu datové části.templateId
: ID šablony zařízení přiřazené k zařízení.enqueuedTime
: Čas, kdy k této změně došlo v IoT Central.enrichments
: Všechny rozšiřování nastavené pro export.V případě služby Blob Storage se zprávy dávkovají a exportují jednou za minutu.
Následující příklad ukazuje zprávu o životním cyklu exportovaného zařízení přijatou ve službě Azure Blob Storage.
{
"applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"messageSource": "deviceLifecycle",
"messageType": "registered",
"deviceId": "1vzb5ghlsg1",
"schema": "default@v1",
"templateId": "urn:qugj6vbw5:___qbj_27r",
"enqueuedTime": "2021-01-01T22:26:55.455Z",
"enrichments": {
"userSpecifiedKey": "sampleValue"
}
}
Každá zpráva nebo záznam představuje jednu změnu v jedné publikované šabloně zařízení. Informace v exportované zprávě zahrnují:
applicationId
: ID aplikace IoT Central.messageSource
: Zdroj zprávy - deviceTemplateLifecycle
.messageType
: Buď created
, updated
nebo deleted
.schema
: Název a verze schématu datové části.templateId
: ID šablony zařízení přiřazené k zařízení.enqueuedTime
: Čas, kdy k této změně došlo v IoT Central.enrichments
: Všechny rozšiřování nastavené pro export.V případě služby Blob Storage se zprávy dávkovají a exportují jednou za minutu.
Následující příklad ukazuje zprávu o životním cyklu exportovaného zařízení přijatou ve službě Azure Blob Storage.
{
"applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"messageSource": "deviceTemplateLifecycle",
"messageType": "created",
"schema": "default@v1",
"templateId": "urn:qugj6vbw5:___qbj_27r",
"enqueuedTime": "2021-01-01T22:26:55.455Z",
"enrichments": {
"userSpecifiedKey": "sampleValue"
}
}
Každá zpráva protokolu auditu představuje změnu iniciovanou uživatelem na auditovatelnou entitu v aplikaci IoT Central. Informace v exportované zprávě zahrnují:
actor
: Informace o uživateli, který entitu upravil.applicationId
: ID aplikace IoT Central.messageSource
: Zdroj zprávy - audit
.messageType
: Typ změny, ke které došlo. Jeden z: updated
, created
, deleted
.updated
: Pouze v případě, že messageType
je updated
. Poskytuje další podrobnosti o aktualizaci.resource
: Podrobnosti o upravené entitě.schema
: Název a verze schématu datové části.deviceId
: ID zařízení, které se změnilo.enqueuedTime
: Čas, kdy k této změně došlo v IoT Central.enrichments
: Všechny rozšiřování nastavené pro export.Následující příklad ukazuje exportovanou zprávu protokolu auditu přijatou ve službě Azure Blob Storage:
{
"actor": {
"id": "test-audit",
"type": "apiToken"
},
"applicationId": "22223333-cccc-4444-dddd-5555eeee6666",
"enqueuedTime": "2022-07-25T21:54:40.000Z",
"enrichments": {},
"messageSource": "audit",
"messageType": "created",
"resource": {
"displayName": "Sensor 1",
"id": "sensor",
"type": "device"
},
"schema": "default@v1"
}
Teď, když víte, jak exportovat do služby Blob Storage, je navrhovaným dalším krokem informace o exportu do služby Service Bus.
Školení
Postup výuky
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization