Azure Digital Twins-API:er och -API:er
Den här artikeln ger en översikt över Azure Digital Twins TILLGÄNGLIGA API:er och metoder för att interagera med dem. Du kan antingen använda REST-API:erna direkt med deras associerade Swaggers (via ett verktyg som Postman) eller via ett SDK.
Azure Digital Twins har API:er för kontrollplan, API:er för dataplanet och API:er för att hantera din instans och dess element.
- API:erna för kontrollplanet är Azure Resource Manager(ARM)-API:er och täcker resurshanteringsåtgärder som att skapa och ta bort din instans.
- API:erna för dataplanet Azure Digital Twins API:er och används för datahanteringsåtgärder som att hantera modeller, tvillingar och grafen.
- MED HJÄLP av de befintliga API:erna kan du enkelt utveckla anpassade program som använder Azure Digital Twins. Kontrollplans-SDK:erna är tillgängliga i .NET (C#) och Java,och dataplans-SDK:erna är tillgängliga i .NET (C#), Java, JavaScriptoch Python.
Översikt: API:er för kontrollplan
API:erna för kontrollplanet är ARM-API:er som används för att hantera Azure Digital Twins instansen som helhet, så de täcker åtgärder som att skapa eller ta bort hela instansen. Du kommer också att använda dessa API:er för att skapa och ta bort slutpunkter.
Den senaste API-versionen för kontrollplanet är 2020-12-01.
Så här använder du API:er för kontrollplanet:
- Du kan anropa API:erna direkt genom att referera till den senaste Swagger-mappen på kontrollplanets Swagger-lagringsplatsen. Den här mappen innehåller också en mapp med exempel som visar användningen.
- Du kan för närvarande komma åt SDK:er för kontroll-API:er i...
Du kan också använda API:er för kontrollplan genom att interagera Azure Digital Twins via Azure Portal och CLI.
Översikt: API:er för dataplanet
API:erna för dataplanet är de Azure Digital Twins API:er som används för att hantera elementen i din Azure Digital Twins instans. De omfattar åtgärder som att skapa vägar, ladda upp modeller, skapa relationer och hantera tvillingar och kan delas upp i följande kategorier:
- DigitalTwinModels – Kategorin DigitalTwinModels innehåller API:er för att hantera modeller i en Azure Digital Twins instans. Hanteringsaktiviteter omfattar överföring, verifiering, hämtning och borttagning av modeller som har redigerats i DTDL.
- DigitalTwins – Kategorin DigitalTwins innehåller API:er som gör att utvecklare kan skapa, ändra och ta bort digitala tvillingar och deras relationer i en Azure Digital Twins instans.
- Fråga – Kategorin Fråga gör att utvecklare kan hitta uppsättningar av digitala tvillingar i tvillingdiagrammet över relationer.
- Händelsevägar – Kategorin Händelsevägar innehåller API:er för att dirigera data, via systemet och till underordnade tjänster.
Den senaste API-versionen för dataplanet är 2020-10-31.
Så här använder du API:er för dataplanet:
- Du kan anropa API:erna direkt genom att...
- Referera till den senaste Swagger-mappen på dataplanets Swagger-lagringsplatsen. Den här mappen innehåller också en mapp med exempel som visar användningen.
- Visa API-referensdokumentationen.
- Du kan använda .NET (C#) SDK. Om du vill använda .NET SDK...
- Du kan visa och lägga till paketet från NuGet: Azure.DigitalTwins.Core.
- Du kan visa SDK-referensdokumentationen.
- Du hittar SDK-källan, inklusive en mapp med exempel, i GitHub: Azure IoT Digital Twins klientbibliotek för .NET.
- Du kan se detaljerad information och användningsexempel genom att fortsätta till avsnittet .NET (C#) SDK (dataplan) i den här artikeln.
- Du kan använda Java SDK. Om du vill använda Java SDK...
- Du kan visa och installera paketet från Maven:
com.azure:azure-digitaltwins-core - Du kan visa SDK-referensdokumentationen
- DU hittar SDK-källan i GitHub: Azure IoT Digital Twins klientbibliotek för Java
- Du kan visa och installera paketet från Maven:
- Du kan använda JavaScript SDK. Om du vill använda JavaScript SDK...
- Du kan visa och installera paketet från npm: Azure Azure Digital Twins Core-klientbiblioteket för JavaScript.
- Du kan visa SDK-referensdokumentationen.
- DU hittar SDK-källan i GitHub: Azure Azure Digital Twins Core-klientbibliotek för JavaScript
- Du kan använda Python SDK. Om du vill använda Python SDK...
- Du kan visa och installera paketet från PyPi: Azure Azure Digital Twins Core-klientbiblioteket för Python.
- Du kan visa SDK-referensdokumentationen.
- DU hittar SDK-källan i GitHub: Azure Azure Digital Twins Core-klientbibliotek för Python
Du kan också använda API:er för datumplan genom att interagera Azure Digital Twins via CLI.
.NET (C#) SDK (dataplan)
Den Azure Digital Twins .NET (C#) SDK är en del av Azure SDK för .NET. Den har öppen källkod och baseras på de Azure Digital Twins API:erna för dataplanet.
Anteckning
Mer information om SDK-design finns i de allmänna designprinciperna för Azure SDK:er och de specifika riktlinjerna för .NET-design.
Om du vill använda SDK:n inkluderar du NuGet-paketet Azure.DigitalTwins.Core med ditt projekt. Du behöver också den senaste versionen av Azure.Identity-paketet. I Visual Studio kan du lägga till dessa paket med hjälp av NuGet Package Manager (nås via Tools > NuGet Package Manager > Manage NuGet Packages for Solution). Du kan också använda .NET-kommandoradsverktyget med kommandona i NuGet-paketlänkarna nedan för att lägga till dessa paket i projektet:
- Azure.DigitalTwins.Core:Paketet för Azure Digital Twins SDK för .NET.
- Azure.Identity:Det bibliotek som tillhandahåller verktyg som hjälper dig med autentisering mot Azure.
En detaljerad genomgång av hur du använder API:erna i praktiken finns i Koda en klientapp.
Serialiseringshjälpare
Serialiseringshjälpfunktioner är hjälpfunktioner som är tillgängliga i SDK:n för att snabbt skapa eller deserialisera tvillingdata för åtkomst till grundläggande information. Eftersom de grundläggande SDK-metoderna returnerar tvillingdata som JSON som standard kan det vara bra att använda dessa hjälpklasser för att dela upp tvillingdata ytterligare.
De tillgängliga hjälpklasserna är:
BasicDigitalTwin: Representerar huvuddata för en digital tvillingBasicDigitalTwinComponent: Representerar en komponent i egenskaperna förContentsenBasicDigitalTwinBasicRelationship: Representerar grundläggande data i en relationDigitalTwinsJsonPropertyName: Innehåller strängkonstanterna för användning i JSON-serialisering och deserialisering för anpassade digitala tvillingtyper
Allmän information om API/SDK-användning
Anteckning
Observera att Azure Digital Twins inte stöder resursdelning för korsande ursprung (CORS). Mer information om effekt- och lösningsstrategier finns i avsnittet Resursdelning för korsande ursprung (CORS) i Begrepp: Säkerhet för Azure Digital Twins lösningar.
Följande lista innehåller mer detaljerad information och allmänna riktlinjer för att använda API:er och SDK:er.
- Du kan använda ett HTTP REST-testverktyg som Postman för att göra direkta anrop till Azure Digital Twins API:er. Mer information om den här processen finns i Göra API-begäranden med Postman.
- Om du vill använda SDK:n instansierar du
DigitalTwinsClientklassen . Konstruktorn kräver autentiseringsuppgifter som kan hämtas med olika typer av autentiseringsmetoder iAzure.Identitypaketet. Mer information omAzure.Identityfinns i dokumentationen om namnområdet. - Det kan vara användbart när du kommer igång, men det finns flera andra alternativ, inklusive autentiseringsuppgifter för hanterad identitet , som du förmodligen använder för att autentisera Azure-funktioner som har ställts in med
InteractiveBrowserCredentialMSI mot Azure Digital Twins. Mer information omInteractiveBrowserCredentialfinns i dess klassdokumentation. - Begäranden till Azure Digital Twins-API:er kräver en användare eller tjänstens huvudnamn som är en del av samma Azure Active Directory-klientorganisation (Azure AD) där Azure Digital Twins-instansen finns. För att förhindra skadlig genomsökning Azure Digital Twins slutpunkter returneras begäranden med åtkomsttoken utanför den ursprungliga klienten ett felmeddelande om att "404 Sub-Domain kunde inte hittas". Det här felet returneras även om användarens eller tjänstens huvudnamn har fått rollen Azure Digital Twins dataägare eller Azure Digital Twins dataläsare via Azure AD B2B-samarbete. Information om hur du uppnår åtkomst över flera klienter finns i Skriva kod för appautentisering.
- Alla tjänst-API-anrop exponeras som medlemsfunktioner i
DigitalTwinsClientklassen . - Alla tjänstfunktioner finns i synkrona och asynkrona versioner.
- Alla tjänstfunktioner returnerar ett undantag för returstatusen 400 eller högre. Se till att omsluta anrop
tryi ett avsnitt och fånga minstRequestFailedExceptions. Mer information om den här typen av undantag finns i referensdokumentationen. - De flesta tjänstmetoder
Response<T>returnerar eller (Task<Response<T>>för asynkrona anrop), därTär klassen för returobjektet för tjänstanropet. Svarsklassen kapslar in tjänstretur och visar returvärden iValuefältet. - Tjänstmetoder med sidindelade resultat
Pageable<T>returnerarAsyncPageable<T>eller som resultat. Mer information omPageable<T>klassen finns i dess referensdokumentation. Mer information finnsAsyncPageable<T>i dess referensdokumentation. - Du kan iterera över sidindelade resultat med hjälp av en
await foreachloop. Mer information om den här processen finns i relevant dokumentation. - Den underliggande SDK:n är
Azure.Core. Se Azure-namnområdesdokumentationen för referens om SDK-infrastruktur och -typer.
Tjänstmetoder returnerar starkt typifierade objekt där det är möjligt. Men eftersom Azure Digital Twins baseras på modeller som konfigurerats av användaren vid körning (via DTDL-modeller som laddats upp till tjänsten), tar många tjänst-API:er och returnerar tvillingdata i JSON-format.
Övervaka API-mått
API-mått som begäranden, svarstid och felfrekvens kan visas i Azure Portal .
Från portalens startsida söker du efter din Azure Digital Twins instans för att hämta information om den. Välj alternativet Mått på Azure Digital Twins instansens meny för att öppna sidan Mått.
Härifrån kan du visa måtten för din instans och skapa anpassade vyer.
Nästa steg
Se hur du gör direkta begäranden till API:erna med Postman:
Eller öva på att använda .NET SDK genom att skapa en klientapp med den här självstudien: