Použití rozhraní IoT Central REST API ke správě organizací
Rozhraní IoT Central REST API umožňuje vyvíjet klientské aplikace, které se integrují s aplikacemi IoT Central. Rozhraní REST API můžete použít ke správě organizací v aplikaci IoT Central.
Každé volání rozhraní REST API služby IoT Central vyžaduje autorizační hlavičku. Další informace najdete v tématu Ověřování a autorizace volání rozhraní REST API služby IoT Central.
Referenční dokumentaci k rozhraní IoT Central REST API najdete v referenčních informacích k rozhraní REST API služby Azure IoT Central.
Další informace o organizacích v aplikaci IoT Central najdete v tématu Správa organizací IoT Central.
Rozhraní REST API organizací
Rozhraní IoT Central REST API umožňuje:
- Přidání organizace do aplikace
- Získání organizace podle ID
- Aktualizace organizace v aplikaci
- Získání seznamu organizací v aplikaci
- Odstranění organizace v aplikaci
Vytváření organizací
Rozhraní REST API umožňuje vytvářet organizace v aplikaci IoT Central. K vytvoření organizace ve vaší aplikaci použijte následující požadavek:
PUT https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
- organizationId – jedinečné ID organizace
Následující příklad ukazuje text požadavku, který přidá organizaci do aplikace IoT Central.
{
"displayName": "Seattle",
}
Text požadavku obsahuje některá povinná pole:
@displayName
: Zobrazovaný název organizace.
Text požadavku obsahuje některá volitelná pole:
@parent
: ID nadřazené organizace.
Pokud nezadáte nadřazený objekt, organizace získá výchozí organizaci nejvyšší úrovně jako nadřazenou.
Odpověď na tento požadavek vypadá jako v následujícím příkladu:
{
"id": "seattle",
"displayName": "Seattle"
}
Můžete vytvořit organizaci s hierarchií, například vytvořit prodejní organizaci s nadřazenou organizací.
Následující příklad ukazuje text požadavku, který přidá organizaci do aplikace IoT Central.
{
"displayName": "Sales",
"parent":"seattle"
}
Odpověď na tento požadavek vypadá jako v následujícím příkladu:
{
"id": "sales",
"displayName": "Sales",
"parent":"Seattle"
}
Získání organizace
Pomocí následujícího požadavku načtěte podrobnosti o jednotlivých organizacích z vaší aplikace:
GET https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
Odpověď na tento požadavek vypadá jako v následujícím příkladu:
{
"id": "seattle",
"displayName": "Seattle",
"parent": "washington"
}
Aktualizace organizace
Pomocí následujícího požadavku aktualizujte podrobnosti o organizaci ve vaší aplikaci:
PATCH https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
Následující příklad ukazuje text požadavku, který aktualizuje nadřazenou položku organizace:
{
"parent": "washington"
}
Odpověď na tento požadavek vypadá jako v následujícím příkladu:
{
"id": "seattle",
"displayName": "Seattle Sales",
"parent": "washington"
}
Seznam organizací
Pomocí následujícího požadavku načtěte seznam organizací z vaší aplikace:
GET https://{your app subdomain}.azureiotcentral.com/api/organizations?api-version=2022-07-31
Odpověď na tento požadavek vypadá jako v následujícím příkladu.
{
"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"
}
]
}
Organizace Washington, Redmond a Bellevue automaticky mají výchozí organizaci nejvyšší úrovně aplikace jako nadřazenou.
Odstranění organizace
K odstranění organizace použijte následující požadavek:
DELETE https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
Použití organizací
Pomocí organizací můžete spravovat přístup k prostředkům ve vaší aplikaci.
Správa rolí
Rozhraní REST API umožňuje vypsat role definované v aplikaci IoT Central. Pomocí následujícího požadavku načtěte ze své aplikace seznam ID rolí aplikací a rolí organizace. Další informace najdete v tématu Správa organizací IoT Central:
GET https://{your app subdomain}.azureiotcentral.com/api/roles?api-version=2022-07-31
Odpověď na tento požadavek vypadá jako v následujícím příkladu, který obsahuje ID rolí aplikace a rolí organizace.
{
"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"
}
]
}
Vytvoření tokenu rozhraní API připojeného k uzlu v hierarchii organizace
Pomocí následujícího požadavku vytvořte v aplikaci token rozhraní API připojený k uzlu v hierarchii organizace:
PUT https://{your app subdomain}.azureiotcentral.com/api/apiTokens/{tokenId}?api-version=2022-07-31
- tokenId – jedinečné ID tokenu
Následující příklad ukazuje text požadavku, který vytvoří token rozhraní API pro organizaci Seattle v aplikaci IoT Central.
{
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
]
}
Text požadavku obsahuje některá povinná pole:
Název | Popis |
---|---|
role | ID jedné z rolí organizace |
organization | ID organizace |
Odpověď na tento požadavek vypadá jako v následujícím příkladu:
{
"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"
}
Přidružení uživatele k uzlu v hierarchii organizace
Pomocí následujícího požadavku vytvořte a přidružte uživatele k uzlu v hierarchii organizace ve vaší aplikaci. ID a e-mail musí být v aplikaci jedinečné:
PUT https://{your app subdomain}.azureiotcentral.com/api/users/user-001?api-version=2022-07-31
V následujícím textu role
požadavku je ID jedné z rolí organizace a organization
ID organizace.
{
"id": "user-001",
"type": "email",
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
],
"email": "user5@contoso.com"
}
Odpověď na tento požadavek vypadá jako v následujícím příkladu. Hodnota role určuje, ke které roli je uživatel přidružený:
{
"id": "user-001",
"type": "email",
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
],
"email": "user5@contoso.com"
}
Přidání a přidružení zařízení k organizaci
Pomocí následujícího požadavku přidružte nové zařízení k organizaci.
PUT https://{your app subdomain}.azureiotcentral.com/api/devices/{deviceId}?api-version=2022-07-31
Následující příklad ukazuje text požadavku, který přidá zařízení pro šablonu zařízení. Podrobnosti najdete template
na stránce šablon zařízení v uživatelském rozhraní aplikace IoT Central.
{
"displayName": "CheckoutThermostat",
"template": "dtmi:contoso:Thermostat;1",
"simulated": true,
"enabled": true,
"organizations": [
"seattle"
]
}
Text požadavku obsahuje některá povinná pole:
@displayName
: Zobrazovaný název zařízení.@enabled
: deklaruje, že tento objekt je rozhraní.@etag
: ETag použitý k zabránění konfliktům v aktualizacích zařízení.simulated
: Simuluje se zařízení?template
: Definice šablony zařízení pro zařízení.organizations
: Seznam ID organizace, na které je zařízení součástí. V současné době můžete zařízení přidružit jenom k jedné organizaci.
Odpověď na tento požadavek vypadá jako v následujícím příkladu:
{
"id": "thermostat1",
"etag": "eyJoZWFkZXIiOiJcIjI0MDAwYTdkLTAwMDAtMDMwMC0wMDAwLTYxYjgxZDIwMDAwMFwiIiwiZGF0YSI6IlwiMzMwMDQ1M2EtMDAwMC0wMzAwLTAwMDAtNjFiODFkMjAwMDAwXCIifQ",
"displayName": "CheckoutThermostat",
"simulated": true,
"provisioned": false,
"template": "dtmi:contoso:Thermostat;1",
"enabled": true,
"organizations": [
"seattle"
]
}
Přidání a přidružení skupiny zařízení k organizaci
Pomocí následujícího požadavku vytvořte a přidružte novou skupinu zařízení k organizaci.
PUT https://{your app subdomain}.azureiotcentral.com/api/deviceGroups/{deviceGroupId}?api-version=2022-07-31
Když vytvoříte skupinu zařízení, definujete filter
, která vybere zařízení, která se mají do skupiny přidat. A filter
identifikuje šablonu zařízení a všechny vlastnosti, které se mají shodovat. Následující příklad vytvoří skupinu zařízení, která obsahuje všechna zařízení přidružená k dtmi:modelDefinition:dtdlv2
šabloně, ve které provisioned
je vlastnost true.
{
"displayName": "Device group 1",
"description": "Custom device group.",
"filter": "SELECT * FROM devices WHERE $template = \"dtmi:modelDefinition:dtdlv2\" AND $provisioned = true",
"organizations": [
"seattle"
]
}
Text požadavku obsahuje některá povinná pole:
@displayName
: Zobrazovaný název skupiny zařízení.@filter
: Dotaz definující zařízení, která mají být v této skupině.description
: Krátký přehled skupiny zařízení.organizations
: Seznam ID organizace, na které je zařízení součástí. V současné době můžete zařízení přidružit jenom k jedné organizaci.
Odpověď na tento požadavek vypadá jako v následujícím příkladu:
{
"id": "group1",
"displayName": "Device group 1",
"description": "Custom device group.",
"filter": "SELECT * FROM devices WHERE $template = \"dtmi:modelDefinition:dtdlv2\" AND $provisioned = true",
"organizations": [
"seattle"
]
}
Další kroky
Teď, když jste se naučili spravovat organizace pomocí rozhraní REST API, je navrhovaným dalším krokem použití rozhraní IoT Central REST API ke správě exportů dat.