Az IoT Central REST API használata szervezetek kezeléséhez
Az IoT Central REST API lehetővé teszi az IoT Central-alkalmazásokkal integrálható ügyfélalkalmazások fejlesztését. A REST API-val kezelheti az IoT Central-alkalmazásban lévő szervezeteket.
Minden IoT Central REST API-híváshoz szükség van egy engedélyezési fejlécre. További információ: IoT Central REST API-hívások hitelesítése és engedélyezése.
Az IoT Central REST API referenciadokumentációját az Azure IoT Central REST API-referenciájában találja.
Az IoT Central-alkalmazásokban található szervezetekről az IoT Central-szervezetek kezelése című témakörben olvashat bővebben.
Tipp.
A Postman használatával kipróbálhatja a cikkben ismertetett REST API-hívásokat. Töltse le az IoT Central Postman gyűjteményt , és importálja a Postmanbe. A gyűjteményben olyan változókat kell beállítania, mint az alkalmazás altartománya és a rendszergazdai jogkivonat.
Szervezetek REST API
Az IoT Central REST API használatával a következőket teheti:
- Szervezet hozzáadása az alkalmazáshoz
- Szervezet lekérése azonosító alapján
- Szervezet frissítése az alkalmazásban
- Az alkalmazásban lévő szervezetek listájának lekérése
- Szervezet törlése az alkalmazásban
Szervezetek létrehozása
A REST API-val szervezeteket hozhat létre az IoT Central-alkalmazásban. A következő kéréssel hozzon létre egy szervezetet az alkalmazásban:
PUT https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
- organizationId – A szervezet egyedi azonosítója
Az alábbi példa egy olyan kérelemtörzset mutat be, amely egy szervezetet ad hozzá egy IoT Central-alkalmazáshoz.
{
"displayName": "Seattle",
}
A kérelem törzse tartalmaz néhány kötelező mezőt:
@displayName
: A szervezet megjelenítendő neve.
A kérelem törzse néhány választható mezővel rendelkezik:
@parent
: A szervezet szülőjének azonosítója.
Ha nem ad meg szülőt, akkor a szervezet az alapértelmezett legfelső szintű szervezetet kapja szülőként.
A kérésre adott válasz a következő példához hasonlóan néz ki:
{
"id": "seattle",
"displayName": "Seattle"
}
Létrehozhat egy hierarchiával rendelkező szervezetet, például létrehozhat egy értékesítési szervezetet egy szülőszervezettel.
Az alábbi példa egy olyan kérelemtörzset mutat be, amely egy szervezetet ad hozzá egy IoT Central-alkalmazáshoz.
{
"displayName": "Sales",
"parent":"seattle"
}
A kérésre adott válasz a következő példához hasonlóan néz ki:
{
"id": "sales",
"displayName": "Sales",
"parent":"Seattle"
}
Szervezet lekérése
Az alábbi kéréssel lekérheti egy adott szervezet adatait az alkalmazásból:
GET https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
A kérésre adott válasz a következő példához hasonlóan néz ki:
{
"id": "seattle",
"displayName": "Seattle",
"parent": "washington"
}
Szervezet frissítése
A következő kéréssel frissítheti egy szervezet adatait az alkalmazásban:
PATCH https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
Az alábbi példa egy olyan kéréstörzset mutat be, amely frissíti a szervezet szülőját:
{
"parent": "washington"
}
A kérésre adott válasz a következő példához hasonlóan néz ki:
{
"id": "seattle",
"displayName": "Seattle Sales",
"parent": "washington"
}
Szervezetek listázása
A következő kéréssel lekérheti a szervezetek listáját az alkalmazásból:
GET https://{your app subdomain}.azureiotcentral.com/api/organizations?api-version=2022-07-31
A kérésre adott válasz az alábbi példához hasonlóan néz ki.
{
"value": [
{
"id": "washington",
"displayName": "Washington"
},
{
"id": "redmond",
"displayName": "Redmond"
},
{
"id": "bellevue",
"displayName": "Bellevue"
},
{
"id": "spokane",
"displayName": "Spokane",
"parent": "washington"
},
{
"id": "seattle",
"displayName": "Seattle",
"parent": "washington"
}
]
}
A Washington, Redmond és Bellevue szervezetek automatikusan az alkalmazás alapértelmezett legfelső szintű szervezetével rendelkeznek szülőként.
Szervezet törlése
A következő kéréssel törölhet egy szervezetet:
DELETE https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
Szervezetek használata
A szervezetek segítségével kezelheti az alkalmazás erőforrásaihoz való hozzáférést.
Szerepkörök kezelése
A REST API-val listázhatja az IoT Central-alkalmazásban definiált szerepköröket. Az alábbi kéréssel lekérheti az alkalmazás szerepköreinek és szervezeti szerepkör-azonosítóinak listáját az alkalmazásból. További információ: IoT Central-szervezetek kezelése:
GET https://{your app subdomain}.azureiotcentral.com/api/roles?api-version=2022-07-31
A kérésre adott válasz az alábbi példához hasonlóan jelenik meg, amely tartalmazza az alkalmazásszerepkört és a szervezeti szerepkör azonosítóit.
{
"value": [
{
"id": "ca310b8d-2f4a-44e0-a36e-957c202cd8d4",
"displayName": "Administrator"
},
{
"id": "ae2c9854-393b-4f97-8c42-479d70ce626e",
"displayName": "Operator"
},
{
"id": "344138e9-8de4-4497-8c54-5237e96d6aaf",
"displayName": "Builder"
},
{
"id": "c495eb57-eb18-489e-9802-62c474e5645c",
"displayName": "Org Admin"
},
{
"id": "b4935647-30e4-4ed3-9074-dcac66c2f8ef",
"displayName": "Org Operator"
},
{
"id": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"displayName": "Org Viewer"
}
]
}
Szervezeti hierarchiában lévő csomóponthoz csatolt API-jogkivonat létrehozása
A következő kéréssel hozzon létre egy api-jogkivonatot, amely egy szervezeti hierarchia egyik csomópontjához van csatolva az alkalmazásban:
PUT https://{your app subdomain}.azureiotcentral.com/api/apiTokens/{tokenId}?api-version=2022-07-31
- tokenId – A jogkivonat egyedi azonosítója
Az alábbi példa egy kéréstörzset mutat be, amely létrehoz egy API-jogkivonatot a seattle-i szervezet számára egy IoT Central-alkalmazásban.
{
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
]
}
A kérelem törzse tartalmaz néhány kötelező mezőt:
Name | Leírás |
---|---|
szerepkör | Az egyik szervezeti szerepkör azonosítója |
szervezet | A szervezet azonosítója |
A kérésre adott válasz a következő példához hasonlóan néz ki:
{
"id": "token1",
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
],
"expiry": "2023-07-07T17:05:08.407Z",
"token": "SharedAccessSignature sr=8a0617**********************4c0d71c&sig=3RyX69G4%2FBZZnG0LXOjQv*************e8s%3D&skn=token1&se=1688749508407"
}
Felhasználó társítása egy szervezeti hierarchiában lévő csomóponttal
A következő kéréssel létrehozhat és társíthat egy felhasználót egy szervezeti hierarchia egy csomópontjával az alkalmazásban. Az azonosítónak és az e-mailnek egyedinek kell lennie az alkalmazásban:
PUT https://{your app subdomain}.azureiotcentral.com/api/users/user-001?api-version=2022-07-31
A következő kérelemtörzsben az role
egyik szervezeti szerepkör azonosítója, és organization
a szervezet azonosítója.
{
"id": "user-001",
"type": "email",
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
],
"email": "user5@contoso.com"
}
A kérésre adott válasz az alábbi példához hasonlóan néz ki. A szerepkör értéke azonosítja, hogy a felhasználó melyik szerepkörhöz van társítva:
{
"id": "user-001",
"type": "email",
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
],
"email": "user5@contoso.com"
}
Eszköz hozzáadása és társítása egy szervezethez
Az alábbi kéréssel társíthat egy új eszközt egy szervezethez
PUT https://{your app subdomain}.azureiotcentral.com/api/devices/{deviceId}?api-version=2022-07-31
Az alábbi példa egy olyan kéréstörzset mutat be, amely egy eszközsablonhoz ad hozzá eszközt. A részleteket az template
IoT Central-alkalmazás felhasználói felületén található eszközsablonok oldaláról szerezheti be.
{
"displayName": "CheckoutThermostat",
"template": "dtmi:contoso:Thermostat;1",
"simulated": true,
"enabled": true,
"organizations": [
"seattle"
]
}
A kérelem törzse tartalmaz néhány kötelező mezőt:
@displayName
: Az eszköz megjelenítendő neve.@enabled
: deklarálja, hogy ez az objektum egy interfész.@etag
: Az eszközfrissítések ütközésének megelőzésére szolgáló ETag.simulated
: Az eszköz szimulálva van?template
: Az eszköz eszközsablon-definíciója.organizations
: Azoknak a szervezeti azonosítóknak a listája, amelyeknek az eszköz része. Jelenleg csak egyetlen szervezethez társíthat eszközöket.
A kérésre adott válasz a következő példához hasonlóan néz ki:
{
"id": "thermostat1",
"etag": "eyJoZWFkZXIiOiJcIjI0MDAwYTdkLTAwMDAtMDMwMC0wMDAwLTYxYjgxZDIwMDAwMFwiIiwiZGF0YSI6IlwiMzMwMDQ1M2EtMDAwMC0wMzAwLTAwMDAtNjFiODFkMjAwMDAwXCIifQ",
"displayName": "CheckoutThermostat",
"simulated": true,
"provisioned": false,
"template": "dtmi:contoso:Thermostat;1",
"enabled": true,
"organizations": [
"seattle"
]
}
Eszközcsoport hozzáadása és társítása egy szervezethez
Az alábbi kéréssel létrehozhat és társíthat egy új eszközcsoportot egy szervezettel.
PUT https://{your app subdomain}.azureiotcentral.com/api/deviceGroups/{deviceGroupId}?api-version=2022-07-31
Amikor létrehoz egy eszközcsoportot, meghatároz egy filter
olyan eszközt, amely kiválasztja a csoporthoz hozzáadni kívánt eszközöket. Az A filter
azonosítja az eszközsablont és az egyező tulajdonságokat. Az alábbi példa olyan eszközcsoportot hoz létre, amely tartalmazza a dtmi:modelDefinition:dtdlv2
sablonhoz társított összes eszközt, ahol a provisioned
tulajdonság igaz.
{
"displayName": "Device group 1",
"description": "Custom device group.",
"filter": "SELECT * FROM devices WHERE $template = \"dtmi:modelDefinition:dtdlv2\" AND $provisioned = true",
"organizations": [
"seattle"
]
}
A kérelem törzse tartalmaz néhány kötelező mezőt:
@displayName
: Az eszközcsoport megjelenítendő neve.@filter
: Lekérdezés, amely meghatározza, hogy mely eszközök legyenek ebben a csoportban.description
: Az eszközcsoport rövid összefoglalása.organizations
: Azoknak a szervezeti azonosítóknak a listája, amelyeknek az eszköz része. Jelenleg csak egyetlen szervezethez társíthat eszközöket.
A kérésre adott válasz a következő példához hasonlóan néz ki:
{
"id": "group1",
"displayName": "Device group 1",
"description": "Custom device group.",
"filter": "SELECT * FROM devices WHERE $template = \"dtmi:modelDefinition:dtdlv2\" AND $provisioned = true",
"organizations": [
"seattle"
]
}
Következő lépések
Most, hogy megtanulta, hogyan kezelheti a szervezeteket a REST API-val, javasolt következő lépés az IoT Central REST API használata az adatexportok kezeléséhez.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: