Megosztás a következőn keresztül:


IoT Central-alkalmazások létrehozása és kezelése a REST API használatával

A vezérlősík REST API-jával IoT Central-alkalmazásokat hozhat létre és kezelhet. A REST API-t a következőkre is használhatja:

  • Adjon hozzá egy felügyelt identitást az alkalmazáshoz.
  • Irányítópultok kezelése az alkalmazásban

Az API használatához egy tulajdonosi jogkivonatra van szüksége az management.azure.com erőforráshoz. Tulajdonosi jogkivonat beszerzéséhez használhatja az Azure CLI-t:

az account get-access-token --resource https://management.azure.com

Az IoT Central-alkalmazás IoT Central-felhasználói felülettel való kezeléséről az IoT Central-alkalmazás létrehozása című témakörben olvashat .

Alkalmazások listázása

Az előfizetésben lévő IoT Central-alkalmazások listájának lekérése:

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.IoTCentral/iotApps?api-version=2021-06-01

Az erőforráscsoport IoT Central-alkalmazásainak listájának lekérése:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/iotApps?api-version=2021-06-01

Az egyes alkalmazások adatait lekérheti:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTCentral/iotApps/{applicationName}?api-version=2021-06-01

IoT Central-alkalmazás létrehozása

IoT Central-alkalmazás létrehozása rendszer által hozzárendelt felügyelt identitással:

PUT https://management.azure.com/subscriptions/<your subscription id>/resourceGroups/<your resource group name>/providers/Microsoft.IoTCentral/iotApps/<your application name>?api-version=2021-06-01

Az alábbi hasznos adatok az új alkalmazás konfigurációját jelenítik meg, beleértve a felügyelt identitást is:

{
  "location": "eastus",
  "sku": {
    "name": "ST2"
  },
  "properties": {
    "displayName": "Contoso IoT Central App",
    "subdomain": "my-iot-central-app",
    "template": "iotc-pnp-preview@1.0.0"
  },
  "identity": {
    "type": "SystemAssigned"
  }
}

IoT Central-alkalmazás módosítása

A meglévő IoT Central-alkalmazásokat módosíthatja. Az alábbi példa bemutatja, hogyan módosíthatja a megjelenítendő nevet, és hogyan engedélyezheti a rendszer által hozzárendelt felügyelt identitást:

PATCH https://management.azure.com/subscriptions/<your subscription id>/resourceGroups/<your resource group name>/providers/Microsoft.IoTCentral/iotApps/<your application name>?api-version=2021-06-01

A következő hasznos adatokkal módosíthatja a megjelenítendő nevet, és engedélyezheti a rendszer által hozzárendelt felügyelt identitást:

{
  "properties": {
    "displayName": "Contoso IoT Central App"
  },
  "identity": {
    "type": "SystemAssigned"
  }
}

Feljegyzés

Csak egy régióban létrehozott IoT Central-alkalmazáshoz adhat hozzá felügyelt identitást. Minden új alkalmazás egy régióban jön létre.

IoT Central-alkalmazás törlése

IoT Central-alkalmazás törléséhez használja a következőt:

DELETE https://management.azure.com/subscriptions/<your subscription id>/resourceGroups/<your resource group name>/providers/Microsoft.IoTCentral/iotApps/<your application name>?api-version=2021-06-01

Irányítópultok

Létrehozhat egy adott szervezethez társított irányítópultokat. A szervezeti irányítópultok csak azok számára láthatók, akik hozzáférnek ahhoz a szervezethez, amelyhez az irányítópult társítva van. Csak a szervezeti irányítópult engedélyekkel rendelkező szerepkörrel rendelkező felhasználók hozhatnak létre, szerkeszthetnek és törölhetnek szervezeti irányítópultokat.

Minden felhasználó létrehozhat személyes irányítópultokat, amelyeket csak saját maga láthat. A felhasználók válthatnak a szervezeti és a személyes irányítópultok között.

Feljegyzés

A személyes irányítópultok API-val történő létrehozása jelenleg nem támogatott.

Ha tudni szeretné, hogyan kezelheti az irányítópultokat az IoT Central felhasználói felületén, olvassa el az Irányítópultok kezelése című témakört .

Irányítópultok REST API

Az IoT Central REST API használatával a következőket teheti:

  • Irányítópult hozzáadása az alkalmazáshoz
  • Irányítópult frissítése az alkalmazásban
  • Az irányítópult listájának lekérése az alkalmazásban
  • Irányítópult lekérése azonosító alapján
  • Irányítópult törlése az alkalmazásban

Irányítópult hozzáadása

Irányítópult létrehozásához használja az alábbi kérést.

PUT https://{your app subdomain}.azureiotcentral.com/api/dashboards/{dashboardId}?api-version=2022-10-31-preview

dashboardId - Az irányítópult egyedi DTMI-azonosítója .

A kérelem törzse tartalmaz néhány kötelező mezőt:

  • @displayName: Az irányítópult megjelenítendő neve.
  • @favorite: Az irányítópult szerepel a kedvencek listájában?
  • group: Eszközcsoport azonosítója.
  • Tile : Csempeobjektumot meghatározó konfiguráció, beleértve az elrendezést, a megjelenítendő nevet és a konfigurációt.

A csempe néhány kötelező mezőt tartalmaz:

Név Leírás
displayName A csempe megjelenítendő neve
height A csempe magassága
width A csempe szélessége
x A csempe vízszintes helyzete
y A csempe függőleges helyzete

A csempék méretei és helye egyaránt egész egységeket használnak. A legkisebb lehetséges csempe magassága és szélessége egy.

A csempeobjektumok több adattípus megjelenítésére is konfigurálhatók. Ez a cikk példákat tartalmaz a vonaldiagramokat, a markdownt és az utolsó ismert értéket megjelenítő csempékre. Az irányítópulthoz felvehető különböző csempetípusokról további információt a Csempetípusok című témakörben talál.

Vonaldiagram csempe

Egy vagy több összesített telemetriai érték ábrázolása egy vagy több eszközhöz egy adott időszakban. Megjeleníthet például egy vonaldiagramot, amely egy vagy több eszköz átlagos hőmérsékletét és nyomását ábrázolja az elmúlt órában.

A vonaldiagram csempéje a következő konfigurációval rendelkezik:

Név Leírás
capabilities A megjelenítendő telemetriai adatok összesített értékét adja meg.
devices A megjelenítendő eszközök listája.
format A diagram formátumkonfigurációja, például a használni kívánt tengelyek.
group A megjelenítendő eszközcsoport azonosítója.
queryRange A megjelenítendő időtartomány és felbontás.
type lineChart

Markdown-csempe

A Markdownban formázott címsort és leírásszöveget megjelenítő kattintható csempék. Az URL-cím lehet relatív hivatkozás az alkalmazás egy másik lapjára vagy egy külső webhely abszolút hivatkozására. A Markdown-csempe a következő konfigurációval rendelkezik:

Név Leírás
description A csempén belül megjelenítendő Markdown-sztring.
href A csempe kiválasztásakor meglátogatandó hivatkozás.
image Megjelenítendő base64 kódolású kép.
type markdown

Utolsó ismert érték csempe

Egy vagy több eszköz legújabb telemetriai értékeinek megjelenítése. Ezzel a csempével például megjelenítheti egy vagy több eszköz legújabb hőmérsékleti, nyomás- és páratartalom-értékeit.

Az utolsó ismert érték (LKV) csempe a következő konfigurációval rendelkezik:

Név Leírás
capabilities Megadja a megjelenítendő telemetriát.
devices A megjelenítendő eszközök listája.
format Az LKV-csempe formátumkonfigurációja, például a szóburkolás szövegmérete.
group A megjelenítendő eszközcsoport azonosítója.
showTrend Az utolsó ismert érték és az előző érték közötti különbség megjelenítése.
type lkv

Az alábbi példa egy kérelemtörzset mutat be, amely egy új irányítópultot ad hozzá vonaldiagrammal, markdownnal és az utolsó ismert értékcsempékkel. Az LKV- és vonaldiagram-csempék csempék 2x2 . A Markdown csempe egy 1x1 csempe. A csempék az irányítópult felső sorára vannak rendezve:

{
    "displayName": "My Dashboard ",
    "tiles": [
        {
            "displayName": "LKV Temperature",
            "configuration": {
                "type": "lkv",
                "capabilities": [
                    {
                        "capability": "temperature",
                        "aggregateFunction": "avg"
                    }
                ],
                "group": "0fb6cf08-f03c-4987-93f6-72103e9f6100",
                "devices": [
                    "3xksbkqm8r",
                    "1ak6jtz2m5q",
                    "h4ow04mv3d"
                ],
                "format": {
                    "abbreviateValue": false,
                    "wordWrap": false,
                    "textSize": 14
                }
            },
            "x": 0,
            "y": 0,
            "width": 2,
            "height": 2
        },
        {
            "displayName": "Documentation",
            "configuration": {
                "type": "markdown",
                "description": "Comprehensive help articles and links to more support.",
                "href": "https://aka.ms/iotcentral-pnp-docs",
                "image": "4d6c6373-0220-4191-be2e-d58ca2a289e1"
            },
            "x": 2,
            "y": 0,
            "width": 1,
            "height": 1
        },
        {
            "displayName": "Average temperature",
            "configuration": {
                "type": "lineChart",
                "capabilities": [
                    {
                        "capability": "temperature",
                        "aggregateFunction": "avg"
                    }
                ],
                "devices": [
                    "3xksbkqm8r",
                    "1ak6jtz2m5q",
                    "h4ow04mv3d"
                ],
                "group": "0fb6cf08-f03c-4987-93f6-72103e9f6100",
                "format": {
                    "xAxisEnabled": true,
                    "yAxisEnabled": true,
                    "legendEnabled": true
                },
                "queryRange": {
                    "type": "time",
                    "duration": "PT30M",
                    "resolution": "PT1M"
                }
            },
            "x": 3,
            "y": 0,
            "width": 2,
            "height": 2
        }
    ],
    "favorite": false
}

A kérésre adott válasz a következő példához hasonlóan néz ki:

{
    "id": "dtmi:kkfvwa2xi:p7pyt5x38",
    "displayName": "My Dashboard",
    "personal": false,
    "tiles": [
        {
            "displayName": "lineChart",
            "configuration": {
                "type": "lineChart",
                "capabilities": [
                    {
                        "capability": "temperature",
                        "aggregateFunction": "avg"
                    }
                ],
                "devices": [
                    "1cfqhp3tue3",
                    "mcoi4i2qh3"
                ],
                "group": "da48c8fe-bac7-42bc-81c0-d8158551f066",
                "format": {
                    "xAxisEnabled": true,
                    "yAxisEnabled": true,
                    "legendEnabled": true
                },
                "queryRange": {
                    "type": "time",
                    "duration": "PT30M",
                    "resolution": "PT1M"
                }
            },
            "x": 5,
            "y": 0,
            "width": 2,
            "height": 2
        }
    ],
    "favorite": false
}

Irányítópult lekérése

Az irányítópult adatainak lekéréséhez használja az alábbi kérést egy irányítópult-azonosító használatával.

GET https://{your app subdomain}.azureiotcentral.com/api/dashboards/{dashboardId}?api-version=2022-10-31-preview

A kérésre adott válasz a következő példához hasonlóan néz ki:

{
    "id": "dtmi:kkfvwa2xi:p7pyt5x38",
    "displayName": "My Dashboard",
    "personal": false,
    "tiles": [
        {
            "displayName": "lineChart",
            "configuration": {
                "type": "lineChart",
                "capabilities": [
                    {
                        "capability": "AvailableMemory",
                        "aggregateFunction": "avg"
                    }
                ],
                "devices": [
                    "1cfqhp3tue3",
                    "mcoi4i2qh3"
                ],
                "group": "da48c8fe-bac7-42bc-81c0-d8158551f066",
                "format": {
                    "xAxisEnabled": true,
                    "yAxisEnabled": true,
                    "legendEnabled": true
                },
                "queryRange": {
                    "type": "time",
                    "duration": "PT30M",
                    "resolution": "PT1M"
                }
            },
            "x": 5,
            "y": 0,
            "width": 2,
            "height": 2
        }
    ],
    "favorite": false
}

Irányítópult frissítése

PATCH https://{your app subdomain}.azureiotcentral.com/api/dashboards/{dashboardId}?api-version=2022-10-31-preview

Az alábbi példa egy kérelemtörzset mutat be, amely frissíti az irányítópult megjelenítendő nevét, és hozzáadja az irányítópultot a kedvencek listájához:


{
    "displayName": "New Dashboard Name",
    "favorite": true
}

A kérésre adott válasz a következő példához hasonlóan néz ki:

{
    "id": "dtmi:kkfvwa2xi:p7pyt5x38",
    "displayName": "New Dashboard Name",
    "personal": false,
    "tiles": [
        {
            "displayName": "lineChart",
            "configuration": {
                "type": "lineChart",
                "capabilities": [
                    {
                        "capability": "AvailableMemory",
                        "aggregateFunction": "avg"
                    }
                ],
                "devices": [
                    "1cfqhp3tue3",
                    "mcoi4i2qh3"
                ],
                "group": "da48c8fe-bac7-42bc-81c0-d8158551f066",
                "format": {
                    "xAxisEnabled": true,
                    "yAxisEnabled": true,
                    "legendEnabled": true
                },
                "queryRange": {
                    "type": "time",
                    "duration": "PT30M",
                    "resolution": "PT1M"
                }
            },
            "x": 5,
            "y": 0,
            "width": 5,
            "height": 5
        }
    ],
    "favorite": true
}

Irányítópult törlése

Az alábbi kéréssel törölhet egy irányítópultot az irányítópult-azonosító használatával:

DELETE https://{your app subdomain}.azureiotcentral.com/api/dashboards/{dashboardId}?api-version=2022-10-31-preview

Irányítópultok listázása

Az alábbi kéréssel lekérheti az irányítópultok listáját az alkalmazásból:

GET https://{your app subdomain}.azureiotcentral.com/api/dashboards?api-version=2022-10-31-preview

A kérésre adott válasz a következő példához hasonlóan néz ki:

{
    "value": [
        {
            "id": "dtmi:kkfvwa2xi:p7pyt5x3o",
            "displayName": "Dashboard",
            "personal": false,
            "tiles": [
                {
                    "displayName": "Device templates",
                    "configuration": {
                        "type": "markdown",
                        "description": "Get started by adding your first device.",
                        "href": "/device-templates/new/devicetemplates",
                        "image": "f5ba1b00-1d24-4781-869b-6f954df48736"
                    },
                    "x": 1,
                    "y": 0,
                    "width": 1,
                    "height": 1
                },
                {
                    "displayName": "Quick start demo",
                    "configuration": {
                        "type": "markdown",
                        "description": "Learn how to use Azure IoT Central in minutes.",
                        "href": "https://aka.ms/iotcentral-pnp-video",
                        "image": "9eb01d71-491a-44e5-8fac-7af3bc9f9acd"
                    },
                    "x": 2,
                    "y": 0,
                    "width": 1,
                    "height": 1
                },
                {
                    "displayName": "Tutorials",
                    "configuration": {
                        "type": "markdown",
                        "description": "Step-by-step articles teach you how to create apps and devices.",
                        "href": "https://aka.ms/iotcentral-pnp-tutorials",
                        "image": "7d9fc12c-d46e-41c6-885f-0a67c619366e"
                    },
                    "x": 3,
                    "y": 0,
                    "width": 1,
                    "height": 1
                },
                {
                    "displayName": "Documentation",
                    "configuration": {
                        "type": "markdown",
                        "description": "Comprehensive help articles and links to more support.",
                        "href": "https://aka.ms/iotcentral-pnp-docs",
                        "image": "4d6c6373-0220-4191-be2e-d58ca2a289e1"
                    },
                    "x": 4,
                    "y": 0,
                    "width": 1,
                    "height": 1
                },
                {
                    "displayName": "IoT Central Image",
                    "configuration": {
                        "type": "image",
                        "format": {
                            "backgroundColor": "#FFFFFF",
                            "fitImage": true,
                            "showTitle": false,
                            "textColor": "#FFFFFF",
                            "textSize": 0,
                            "textSizeUnit": "px"
                        },
                        "image": ""
                    },
                    "x": 0,
                    "y": 0,
                    "width": 1,
                    "height": 1
                },
                {
                    "displayName": "Contoso Image",
                    "configuration": {
                        "type": "image",
                        "format": {
                            "backgroundColor": "#FFFFFF",
                            "fitImage": true,
                            "showTitle": false,
                            "textColor": "#FFFFFF",
                            "textSize": 0,
                            "textSizeUnit": "px"
                        },
                        "image": "c9ac5af4-f38e-4cd3-886a-e0cb107f391c"
                    },
                    "x": 0,
                    "y": 1,
                    "width": 5,
                    "height": 3
                },
                {
                    "displayName": "Available Memory",
                    "configuration": {
                        "type": "lineChart",
                        "capabilities": [
                            {
                                "capability": "AvailableMemory",
                                "aggregateFunction": "avg"
                            }
                        ],
                        "devices": [
                            "1cfqhp3tue3",
                            "mcoi4i2qh3"
                        ],
                        "group": "da48c8fe-bac7-42bc-81c0-d8158551f066",
                        "format": {
                            "xAxisEnabled": true,
                            "yAxisEnabled": true,
                            "legendEnabled": true
                        },
                        "queryRange": {
                            "type": "time",
                            "duration": "PT30M",
                            "resolution": "PT1M"
                        }
                    },
                    "x": 5,
                    "y": 0,
                    "width": 2,
                    "height": 2
                }
            ],
            "favorite": false
        }
    ]
}