Så här använder du IoT Central REST API för att hantera organisationer
Med REST API för IoT Central kan du utveckla klientprogram som integreras med IoT Central-program. Du kan använda REST-API:et för att hantera organisationer i ditt IoT Central-program.
Varje IoT Central REST API-anrop kräver ett auktoriseringshuvud. Mer information finns i Autentisera och auktorisera IoT Central REST API-anrop.
Referensdokumentationen för REST API:et för IoT Central finns i Referens för Rest API för Azure IoT Central.
Mer information om organisationer i IoT Central Application finns i Hantera IoT Central-organisationer.
REST API för organisationer
I REST-API:et för IoT Central kan du göra följande:
- Lägga till en organisation i ditt program
- Hämta en organisation efter ID
- Uppdatera en organisation i ditt program
- Hämta en lista över organisationer i programmet
- Ta bort en organisation i ditt program
Skapa organisationer
Med REST-API:et kan du skapa organisationer i ditt IoT Central-program. Använd följande begäran för att skapa en organisation i ditt program:
PUT https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
- organizationId – Unikt ID för organisationen
I följande exempel visas en begärandetext som lägger till en organisation i ett IoT Central-program.
{
"displayName": "Seattle",
}
Begärandetexten innehåller några obligatoriska fält:
@displayName
: Organisationens visningsnamn.
Begärandetexten innehåller några valfria fält:
@parent
: ID för den överordnade organisationen.
Om du inte anger en överordnad organisation får organisationen den högsta standardorganisationen som överordnad.
Svaret på den här begäran ser ut som i följande exempel:
{
"id": "seattle",
"displayName": "Seattle"
}
Du kan skapa en organisation med hierarki, till exempel kan du skapa en försäljningsorganisation med en överordnad organisation.
I följande exempel visas en begärandetext som lägger till en organisation i ett IoT Central-program.
{
"displayName": "Sales",
"parent":"seattle"
}
Svaret på den här begäran ser ut som i följande exempel:
{
"id": "sales",
"displayName": "Sales",
"parent":"Seattle"
}
Hämta en organisation
Använd följande begäran för att hämta information om en enskild organisation från ditt program:
GET https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
Svaret på den här begäran ser ut som i följande exempel:
{
"id": "seattle",
"displayName": "Seattle",
"parent": "washington"
}
Uppdatera en organisation
Använd följande begäran för att uppdatera information om en organisation i ditt program:
PATCH https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
I följande exempel visas en begärandetext som uppdaterar den överordnade organisationen:
{
"parent": "washington"
}
Svaret på den här begäran ser ut som i följande exempel:
{
"id": "seattle",
"displayName": "Seattle Sales",
"parent": "washington"
}
Lista organisationer
Använd följande begäran för att hämta en lista över organisationer från ditt program:
GET https://{your app subdomain}.azureiotcentral.com/api/organizations?api-version=2022-07-31
Svaret på den här begäran ser ut som i följande exempel.
{
"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"
}
]
}
Organisationerna Washington, Redmond och Bellevue har automatiskt programmets standardorganisation på toppnivå som förälder.
Ta bort en organisation
Använd följande begäran för att ta bort en organisation:
DELETE https://{your app subdomain}.azureiotcentral.com/api/organizations/{organizationId}?api-version=2022-07-31
Använda organisationer
Använd organisationer för att hantera åtkomst till resurser i ditt program.
Hantera roller
Med REST-API:et kan du visa en lista över de roller som definierats i ditt IoT Central-program. Använd följande begäran för att hämta en lista över programroll- och organisationsroll-ID:t från ditt program. Mer information finns i Hantera IoT Central-organisationer:
GET https://{your app subdomain}.azureiotcentral.com/api/roles?api-version=2022-07-31
Svaret på den här begäran ser ut som i följande exempel som innehåller programrollen och organisationsroll-ID:erna.
{
"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"
}
]
}
Skapa en API-token som är kopplad till en nod i en organisationshierarki
Använd följande begäran för att skapa Skapa en API-token som är kopplad till en nod i en organisationshierarki i ditt program:
PUT https://{your app subdomain}.azureiotcentral.com/api/apiTokens/{tokenId}?api-version=2022-07-31
- tokenId – Unikt ID för token
I följande exempel visas en begärandetext som skapar en API-token för seattle-organisationen i ett IoT Central-program.
{
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
]
}
Begärandetexten innehåller några obligatoriska fält:
Name | beskrivning |
---|---|
roll | ID för en av organisationsrollerna |
organization | ID för organisationen |
Svaret på den här begäran ser ut som i följande exempel:
{
"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"
}
Associera en användare med en nod i en organisationshierarki
Använd följande begäran för att skapa och associera en användare med en nod i en organisationshierarki i ditt program. ID:t och e-postmeddelandet måste vara unika i programmet:
PUT https://{your app subdomain}.azureiotcentral.com/api/users/user-001?api-version=2022-07-31
I följande begärandetext role
är ID för en av organisationens roller och organization
är ID för organisationen
{
"id": "user-001",
"type": "email",
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
],
"email": "user5@contoso.com"
}
Svaret på den här begäran ser ut som i följande exempel. Rollvärdet identifierar vilken roll användaren är associerad med:
{
"id": "user-001",
"type": "email",
"roles": [
{
"role": "84cc62c1-dabe-49d3-b16e-8b291232b285",
"organization": "seattle"
}
],
"email": "user5@contoso.com"
}
Lägga till och associera en enhet till en organisation
Använd följande begäran för att associera en ny enhet med en organisation
PUT https://{your app subdomain}.azureiotcentral.com/api/devices/{deviceId}?api-version=2022-07-31
I följande exempel visas en begärandetext som lägger till en enhet för en enhetsmall. Du kan hämta template
informationen från sidan med enhetsmallar i IoT Central-programgränssnittet.
{
"displayName": "CheckoutThermostat",
"template": "dtmi:contoso:Thermostat;1",
"simulated": true,
"enabled": true,
"organizations": [
"seattle"
]
}
Begärandetexten innehåller några obligatoriska fält:
@displayName
: Enhetens visningsnamn.@enabled
: deklarerar att det här objektet är ett gränssnitt.@etag
: ETag används för att förhindra konflikter i enhetsuppdateringar.simulated
: Simuleras enheten?template
: Enhetsmalldefinitionen för enheten.organizations
: Lista över organisations-ID:n som enheten ingår i. För närvarande kan du bara associera en enhet med en enda organisation.
Svaret på den här begäran ser ut som i följande exempel:
{
"id": "thermostat1",
"etag": "eyJoZWFkZXIiOiJcIjI0MDAwYTdkLTAwMDAtMDMwMC0wMDAwLTYxYjgxZDIwMDAwMFwiIiwiZGF0YSI6IlwiMzMwMDQ1M2EtMDAwMC0wMzAwLTAwMDAtNjFiODFkMjAwMDAwXCIifQ",
"displayName": "CheckoutThermostat",
"simulated": true,
"provisioned": false,
"template": "dtmi:contoso:Thermostat;1",
"enabled": true,
"organizations": [
"seattle"
]
}
Lägga till och associera en enhetsgrupp till en organisation
Använd följande begäran för att skapa och associera en ny enhetsgrupp med en organisation.
PUT https://{your app subdomain}.azureiotcentral.com/api/deviceGroups/{deviceGroupId}?api-version=2022-07-31
När du skapar en enhetsgrupp definierar du en filter
som väljer de enheter som ska läggas till i gruppen. En filter
identifierar en enhetsmall och eventuella egenskaper som ska matchas. I följande exempel skapas en enhetsgrupp som innehåller alla enheter som är associerade med mallen dtmi:modelDefinition:dtdlv2
provisioned
där egenskapen är sann.
{
"displayName": "Device group 1",
"description": "Custom device group.",
"filter": "SELECT * FROM devices WHERE $template = \"dtmi:modelDefinition:dtdlv2\" AND $provisioned = true",
"organizations": [
"seattle"
]
}
Begärandetexten innehåller några obligatoriska fält:
@displayName
: Enhetsgruppens visningsnamn.@filter
: Fråga som definierar vilka enheter som ska finnas i den här gruppen.description
: Kort sammanfattning av enhetsgrupp.organizations
: Lista över organisations-ID:n som enheten ingår i. För närvarande kan du bara associera en enhet med en enda organisation.
Svaret på den här begäran ser ut som i följande exempel:
{
"id": "group1",
"displayName": "Device group 1",
"description": "Custom device group.",
"filter": "SELECT * FROM devices WHERE $template = \"dtmi:modelDefinition:dtdlv2\" AND $provisioned = true",
"organizations": [
"seattle"
]
}
Nästa steg
Nu när du har lärt dig hur du hanterar organisationer med REST-API:et är ett föreslaget nästa steg att använda REST-API:et i IoT Central för att hantera dataexporter.