Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft Graph-API:er har två distinkta relationsmodeller:
-
Relationer mellan entitetstyper: För den här relationstypen tillhandahåller API:et en "länk" mellan två olika typer. Det kanoniska exemplet är a
group
och dessmembers
. Du kan hantera medlemskap genom att lägga till och ta bort medlemmar (befintliga användare, tjänstens huvudnamn, enheter och grupper) till och från gruppen. För en grupp som innehåller användarmedlemmar tar inte borttagningen av gruppen bort de användare som är medlemmar i gruppen, eftersom grupper och användare har en oberoende livscykel. -
Relationer mellan överordnade och underordnade: För den här relationstypen är underordnade resurser "inneslutna" i den överordnade resursen och livscykeln för den underordnade resursen är kopplad till den överordnade resursen. Till exempel
federatedIdentityCredentials
är en underordnad samling av enapplication
instans. Om programmet tas bort tas även programmetsfederatedIdentityCredentials
bort.
I den här artikeln går vi in på hur båda dessa relationstyper exponeras i Microsoft Graph Bicep-typer och eventuella extra funktioner som Microsoft Graph Bicep-tillägget tillhandahåller.
Relationer mellan entitetstyper
Anmärkning
Såvida inte uttryckligen anges kräver relationsmodelleringsupplevelserna som beskrivs i det här avsnittet användning av Microsoft Graph Bicep-typer version v0.2.0-preview eller senare.
Dessa relationer modelleras med hjälp av typen MicrosoftGraphRelationship . Exemplet visar modellering för en grupps members
och owners
egenskaper (andra obligatoriska gruppegenskaper visas inte för korthet). Matrisegenskapen relationships
innehåller en lista över kanoniska ID:n (primärnyckel-ID) för andra Microsoft Graph-resurser.
resource group 'Microsoft.Graph/groups@v1.0' = {
members: {
relationships: [id1, id2, id3]
}
owners: {
relationships: [id4, id5]
}
}
Att kontrollera relationsbeteenden
Som standardinställning använder alla relationsuppdateringar tilläggssemantik. Lägg till lägger till en relation för varje ID i listan om relationen inte redan finns. Detta speglar det underliggande standardbeteendet för Microsoft Graph API. Alternativt kan du ställa in att en relationsuppdatering använder ersätt som semantik. Funktionen "Ersätt semantik" ersätter fullständigt det som finns i tjänsten med de relationer som anges i Bicep-mallen. I exemplet ersätts gruppens befintliga medlemmar med id1
, id2
och id3
:
resource group 'Microsoft.Graph/groups@v1.0' = {
members: {
relationshipSemantics: 'replace'
relationships: [id1, id2, id3]
}
owners: {
relationships: [id4, id5]
}
}
Relationsbeteendet kan också anges på mallnivå i -instruktionen extension
:
extension graphV1 with {
relationshipSemantics: 'replace'
}
Detta sätter alla relationer i Bicep-mallen till att använda ersättningssemantik. Det här globala beteendet kan åsidosättas i varje relationsdeklaration.
Microsoft Graph Bicep-tilläggsfunktioner
Med v0.2.0-förhandsversionen samordnar Microsoft Graph Bicep-tillägget ersättningssemantiklogik och tar reda på vilka medlemmar som ska läggas till och ta bort från relationen. Dessutom orkestrerar Microsoft Graph Bicep-tillägget batchbegäranden av relationer för att övervinna Microsoft Graph API-begärandens gränser för både läs- och skrivoperationer.
Relationer mellan förälder och barn
I Bicep kan överordnade och underordnade relationer deklareras på olika sätt i mallfiler. Det vanligaste sättet att deklarera ett överordnat-underordnat förhållande är genom att kapsla in en underordnad resurs under en överordnad resurs. Ett bra exempel på ett inbäddat underobjekt är federerade identitetsuppgifter.