Azure Digital Twins API's en SDK's
In dit artikel vindt u een overzicht van Azure Digital Twins beschikbare API's en de methoden voor interactie met deze API's. U kunt de REST API's rechtstreeks gebruiken met hun bijbehorende S tools (via een hulpprogramma zoals Postman)of via een SDK.
Azure Digital Twins is uitgerust met API's voor besturingsvlak, API's voor gegevensvlakken en SDK's voor het beheren van uw exemplaar en de elementen ervan.
- De API's van het besturingsvlak zijn Azure Resource Manager (ARM) API's en omvatten bewerkingen voor resourcebeheer, zoals het maken en verwijderen van uw exemplaar.
- De gegevensvlak-API's zijn Azure Digital Twins API's en worden gebruikt voor gegevensbeheerbewerkingen zoals het beheren van modellen, tweelingen en de grafiek.
- De SDK's profiteren van de bestaande API's om de ontwikkeling van aangepaste toepassingen die gebruikmaken van Azure Digital Twins. De SDK's voor het besturingsvlak zijn beschikbaar in .NET (C#) en Javaen de gegevensvlak-SDK's zijn beschikbaar in .NET (C#), Java, JavaScripten Python.
Overzicht: API's voor besturingsvlak
De API's van het besturingsvlak zijn ARM-API's die worden gebruikt om uw Azure Digital Twins-exemplaar als geheel te beheren. Ze hebben dus betrekking op bewerkingen zoals het maken of verwijderen van uw hele exemplaar. U gebruikt deze API's ook om eindpunten te maken en te verwijderen.
De meest recente api-versie van het besturingsvlak is 2020-12-01.
De API's van het besturingsvlak gebruiken:
- U kunt de API's rechtstreeks aanroepen door te verwijzen naar de meest recente Swagger-map in de Swagger-repo van het besturingsvlak. Deze map bevat ook een map met voorbeelden waarin het gebruik wordt weergeven.
- U hebt momenteel toegang tot SDK's voor het beheer van API's in...
U kunt ook api's voor besturingsvlak oefenen door te communiceren met Azure Digital Twins via de Azure Portal en CLI.
Overzicht: API's voor gegevensvlak
De gegevensvlak-API's zijn Azure Digital Twins API's die worden gebruikt om de elementen in uw Azure Digital Twins beheren. Ze omvatten bewerkingen zoals het maken van routes, het uploaden van modellen, het maken van relaties en het beheren van tweelingen, en kunnen breed worden onderverdeeld in de volgende categorieën:
- DigitalTwinModels: de categorie DigitalTwinModels bevat API's voor het beheren van de modellen in een Azure Digital Twins exemplaar. Beheeractiviteiten omvatten het uploaden, valideren, ophalen en verwijderen van modellen die zijn geschreven in DTDL.
- DigitalTwins: de categorie DigitalTwins bevat de API's die ontwikkelaars digitale tweelingen en hun relaties in een Azure Digital Twins maken, wijzigen en verwijderen.
- Query: met de categorie Query kunnen ontwikkelaars sets van digitale tweelingen vinden in de tweelinggrafiek tussen relaties.
- Gebeurtenisroutes: de categorie Gebeurtenisroutes bevat API's om gegevensdoor te geven, via het systeem en naar downstreamservices.
De meest recente api-versie van het gegevensvlak is 2020-10-31.
De gegevensvlak-API's gebruiken:
- U kunt de API's rechtstreeks aanroepen, door...
- Verwijst naar de meest recente Swagger-map in de Swagger-repo van het gegevensvlak. Deze map bevat ook een map met voorbeelden waarin het gebruik wordt weergeven.
- Bekijk de API-referentiedocumentatie.
- U kunt de .NET -SDK (C#) gebruiken. De .NET SDK gebruiken...
- U kunt het pakket weergeven en toevoegen vanuit NuGet: Azure.DigitalTwins.Core.
- U kunt de SDK-referentiedocumentatie bekijken.
- U vindt de SDK-bron, inclusief een map met voorbeelden, in GitHub: Azure IoT Digital Twins clientbibliotheek voor .NET.
- U kunt gedetailleerde informatie en gebruiksvoorbeelden bekijken door verder te gaan naar de sectie .NET (C#) SDK (gegevensvlak) van dit artikel.
- U kunt de Java SDK gebruiken. De Java-SDK gebruiken...
- U kunt het pakket weergeven en installeren vanuit Maven:
com.azure:azure-digitaltwins-core - U kunt de SDK-referentiedocumentatie bekijken
- U vindt de SDK-bron in GitHub: Azure IoT Digital Twins clientbibliotheek voor Java
- U kunt het pakket weergeven en installeren vanuit Maven:
- U kunt de JavaScript SDK gebruiken. De JavaScript SDK gebruiken...
- U kunt het pakket weergeven en installeren vanuit npm: Azure Azure Digital Twins Core-clientbibliotheek voor JavaScript.
- U kunt de SDK-referentiedocumentatie bekijken.
- U vindt de SDK-bron in GitHub: Azure Azure Digital Twins Core-clientbibliotheek voor JavaScript
- U kunt de Python SDK gebruiken. De Python-SDK gebruiken...
- U kunt het pakket weergeven en installeren vanuit PyPi: Azure Azure Digital Twins Core-clientbibliotheek voor Python.
- U kunt de SDK-referentiedocumentatie bekijken.
- U vindt de SDK-bron in GitHub: Azure Azure Digital Twins Core-clientbibliotheek voor Python
U kunt ook api's voor datumvlakken oefenen door te communiceren met Azure Digital Twins via de CLI.
.NET (C#) SDK (gegevensvlak)
De Azure Digital Twins .NET -SDK (C#) maakt deel uit van de Azure SDK voor .NET. Het is een open source en is gebaseerd op de api's Azure Digital Twins gegevensvlak.
Notitie
Zie de algemene ontwerpprincipes voor Azure SDK's en de specifieke .NET-ontwerprichtlijnenvoor meer informatie over SDK-ontwerp.
Als u de SDK wilt gebruiken, moet u het NuGet-pakket Azure.DigitalTwins.Core opnemen in uw project. U hebt ook de nieuwste versie van het Azure.Identity-pakket nodig. In Visual Studio kunt u deze pakketten toevoegen met behulp van de NuGet-Pakketbeheer (toegankelijk via Hulpprogramma's > NuGet Pakketbeheer > NuGet-pakketten voor oplossing beheren). U kunt ook het .NET-opdrachtregelprogramma gebruiken met de opdrachten in de onderstaande NuGet-pakketkoppelingen om deze pakketten toe te voegen aan uw project:
- Azure.DigitalTwins.Core:het pakket voor de Azure Digital Twins SDK voor .NET.
- Azure.Identity: debibliotheek die hulpprogramma's biedt voor verificatie bij Azure.
Zie Code a client app (Een client-app coden) voor een gedetailleerd overzicht van het gebruik van de API'sin de praktijk.
Helpers voor serialisatie
Serialisatiehulpfuncties zijn helperfuncties die beschikbaar zijn in de SDK voor het snel maken of deserialiseren van tweelinggegevens voor toegang tot basisinformatie. Omdat de belangrijkste SDK-methoden standaard dubbele gegevens retourneren als JSON, kan het handig zijn om deze helperklassen te gebruiken om de tweelinggegevens verder op te delen.
De beschikbare helperklassen zijn:
BasicDigitalTwin: In het algemeen worden de kerngegevens van een digitale tweeling vertegenwoordigdBasicDigitalTwinComponent: Algemene vertegenwoordigt een onderdeel in deContentseigenschappen van eenBasicDigitalTwinBasicRelationship: Geeft de kerngegevens van een relatie weer in het algemeenDigitalTwinsJsonPropertyName: Bevat de tekenreeksconstanten voor gebruik in JSON-serialisatie en deserialisatie voor aangepaste digital twin-typen
Algemene gebruiksnotities voor API/SDK
Notitie
Houd er rekening mee Azure Digital Twins momenteel geen ondersteuning biedt voor Cross-Origin Resource Sharing (CORS). Zie de sectie Cross-Origin Resource Sharing (CORS) van Concepten: Beveiliging voor Azure Digital Twins oplossingen voor meer informatie over de impact- en oplossingsstrategieën.
De volgende lijst bevat gedetailleerdere en algemene richtlijnen voor het gebruik van de API's en SDK's.
- U kunt een HTTP REST-testprogramma zoals Postman gebruiken om directe aanroepen uit te voeren naar Azure Digital Twins API's. Zie API-aanvragen maken met Postman voor meer informatie over dit proces.
- Als u de SDK wilt gebruiken, maakt u een instantie van de
DigitalTwinsClientklasse . De constructor vereist referenties die kunnen worden verkregen met verschillende soorten verificatiemethoden in hetAzure.Identitypakket. Zie de documentatieAzure.Identityvan de naamruimte voor meer informatieover . - Het kan handig zijn om aan de slag te gaan, maar er zijn verschillende andere opties, waaronder referenties voor beheerde identiteit, die u waarschijnlijk gebruikt voor het verifiëren van Azure-functies die zijn ingesteld met
InteractiveBrowserCredentialMSI op Azure Digital Twins. Zie deInteractiveBrowserCredentialklassedocumentatie voor meer informatie over. - Voor aanvragen naar Azure Digital Twins API's is een gebruiker of service-principal vereist die deel uitmaakt van dezelfde Azure Active Directory-tenant (Azure AD) waarin het Azure Digital Twins-exemplaar bestaat. Om schadelijke scans van Azure Digital Twins eindpunten te voorkomen, krijgen aanvragen met toegangstokens van buiten de oorspronkelijke tenant het foutbericht '404 Sub-Domain niet gevonden'. Deze fout wordt zelfs geretourneerd als de gebruiker of service-principal de rol Azure Digital Twins Gegevenseigenaar of Azure Digital Twins-gegevenslezer heeft gekregen via Azure AD B2B-samenwerking. Zie App-verificatiecode schrijven voor meer informatie over het verkrijgen van toegang tot meerdere tenants.
- Alle service-API-aanroepen worden beschikbaar gemaakt als lidfuncties in de
DigitalTwinsClientklasse . - Alle servicefuncties bestaan in synchrone en asynchrone versies.
- Alle servicefuncties geven een uitzondering voor een retourstatus van 400 of hoger. Zorg ervoor dat u aanroepen in een
trysectie verpakt en ten minste vangt.RequestFailedExceptionsZie de referentiedocumentatie voor meer informatie over dit type uitzondering. - De meeste servicemethoden retourneren of ( voor
Response<T>Task<Response<T>>de asynchrone aanroepen), waarbij de klasse vanThet retourobject is voor de service-aanroep. De klasse Response bevat het retour van de service en presenteert retourwaarden in hetValueveld. - Servicemethoden met resultaten met pagina's
Pageable<T>retourneren ofAsyncPageable<T>als resultaten. Zie de referentiedocumentatie voor meer informatie over de klasse . Zie dePageable<T>AsyncPageable<T>referentiedocumentatie voor meer informatie over. - U kunt paginade resultaten herhalen met behulp van een
await foreachlus. Zie de relevante documentatie voor meer informatie over dit proces. - De onderliggende SDK is
Azure.Core. Zie de documentatie voor Azure-naamruimte voor naslag over de infrastructuur en typen van de SDK.
Servicemethoden retourneren waar mogelijk sterk getypeerd objecten. Omdat Azure Digital Twins echter is gebaseerd op modellen die tijdens runtime door de gebruiker zijn geconfigureerd (via DTDL-modellen die zijn geüpload naar de service), nemen en retourneren veel service-API's dubbele gegevens in JSON-indeling.
Metrische API-gegevens bewaken
Metrische API-gegevens, zoals aanvragen, latentie en foutpercentage, kunnen worden bekeken in de Azure Portal.
Zoek op de startpagina van de portal naar uw Azure Digital Twins om de details ervan op te halen. Selecteer de optie Metrische gegevens in Azure Digital Twins menu van het exemplaar om de pagina Metrische gegevens weer te geven.
Hier kunt u de metrische gegevens voor uw exemplaar bekijken en aangepaste weergaven maken.
Volgende stappen
Zie hoe u directe aanvragen naar de API's kunt maken met behulp van Postman:
U kunt ook oefenen met het gebruik van de .NET SDK door een client-app te maken met deze zelfstudie: