Erstellen eines benutzerdefinierten Microsoft Graph-JSON-Batch-Konnektors für Power Automation
Es gibt mehr als 230 sofort einsatzbereite Connectors für Microsoft Power Automate. Viele dieser Connectors verwenden die Microsoft-Graph, um mit bestimmten Endpunkten von Microsoft-Produkten zu kommunizieren. Darüber hinaus gibt es andere Szenarien, in denen wir die Microsoft-Graph möglicherweise direkt über Power Automate unter Verwendung grundlegender Bausteine des Diensts aufrufen müssen, da es keinen Connector gibt, der direkt mit dem Microsoft-Graph kommuniziert, um die gesamte API abzudecken.
Neben Szenarien für den direkten Aufruf der Microsoft Graph unterstützen eine Reihe von Microsoft Graph API-Endpunkten nur delegierte Berechtigungen. Der HTTP-Connector in Microsoft Power Automate ermöglicht sehr flexible Integrationen, einschließlich des Aufrufs der Microsoft Graph. Dem HTTP-Connector fehlt jedoch die Möglichkeit, die Anmeldeinformationen eines Benutzers zwischenzuspeichern, um bestimmte delegierte Berechtigungsszenarien zu ermöglichen. In diesen Fällen kann ein benutzerdefinierter Connector erstellt werden, um einen Wrapper für die Microsoft Graph-API bereitzustellen und die Nutzung der API mit delegierten Berechtigungen zu ermöglichen.
In dieser Übung werden beide oben genannten Szenarien behandelt. Zunächst erstellen Sie einen benutzerdefinierten Connector, um Integrationen mit Microsoft Graph zu ermöglichen, die delegierte Berechtigungen erfordern. Zweitens verwenden Sie den $batch-Anforderungsendpunkt, um Zugriff auf die volle Leistungsfähigkeit des Microsoft-Graph bereitzustellen, während Sie die delegierten Berechtigungen verwenden, die erfordern, dass eine App einen "angemeldeten" Benutzer hat.
Hinweis
Dies ist ein Lernprogramm zum Erstellen eines benutzerdefinierten Connectors für die Verwendung in Microsoft Power Automate und Azure Logic Apps. In diesem Lernprogramm wird davon ausgegangen, dass Sie die Übersicht über den benutzerdefinierten Connector gelesen haben, um den Prozess zu verstehen.
Voraussetzungen
Zum Abschließen dieser Übung in diesem Beitrag benötigen Sie Folgendes:
- Administratorzugriff auf einen Office 365 Mandanten. Wenn Sie keinen haben, besuchen Sie das Microsoft 365 Entwicklerprogramm, um sich für einen kostenlosen Entwicklermandanten anzumelden.
- Zugriff auf Microsoft Power Automate.
Feedback
Bitte geben Sie Feedback zu diesem Lernprogramm im GitHub Repository.
Erstellen einer Azure AD-App-Registrierung
In dieser Übung erstellen Sie eine neue Azure Active Directory Anwendung, die verwendet wird, um die delegierten Berechtigungen für den benutzerdefinierten Connector bereitzustellen.
Öffnen Sie einen Browser, und navigieren Sie zu Azure Active Directory Admin Center. Klicken Sie im linken Navigationsmenü auf den Link Azure Active Directory, und wählen Sie dann im Abschnitt "Verwalten" des Blatts Azure Active Directory den Eintrag "App-Registrierungen" aus.

Wählen Sie oben im Blatt "App-Registrierungen" das Menüelement "Neue Registrierung" aus.

Geben Sie MS Graph Batch App das Feld Name ein. Wählen Sie im Abschnitt Unterstützte Kontotypen Konten in einem beliebigen Organisationsverzeichnis aus. Lassen Sie den Abschnitt "Umleitungs-URI" leer, und wählen Sie "Registrieren" aus.

Kopieren Sie auf dem Blatt MS Graph Batch-App die Anwendungs-ID (Client-ID). Sie benötigen dies in der nächsten Übung.

Wählen Sie den EINTRAG "API-Berechtigungen" im Abschnitt "Verwalten" des Blatts "MS Graph Batch-App" aus. Wählen Sie "Berechtigung unter API-Berechtigungen hinzufügen" aus.

Wählen Sie im Blatt "API-Berechtigungen anfordern" die Microsoft Graph und dann delegierte Berechtigungen aus. Suchen Sie nach group , und wählen Sie dann die delegierte Berechtigung "Alle Gruppen lesen und schreiben". Klicken Sie unten auf dem Blatt auf "Berechtigungen hinzufügen".

Wählen Sie im Abschnitt "Verwalten" des Blatts "MS Graph Batch-App" den Eintrag "Zertifikate und geheime Schlüssel" aus, und wählen Sie dann "Neuer geheimer Clientschlüssel" aus. Geben Sie forever in die Beschreibung ein, und wählen Sie "Nie unter Läuft ab" aus. Wählen Sie Hinzufügen aus.

Kopieren Sie den Wert für den neuen geheimen Schlüssel. Sie benötigen dies in der nächsten Übung.

Wichtig
Dieser Schritt ist wichtig, da nach dem Schließen dieses Blatts nicht mehr auf den geheimen Schlüssel zugegriffen werden kann. Speichern Sie diesen geheimen Schlüssel in einem Text-Editor zur Verwendung in bevorstehenden Übungen.
Um die Verwaltung zusätzlicher Dienste zu ermöglichen, auf die über die Microsoft Graph zugegriffen werden kann, einschließlich Teams Eigenschaften, müssen Sie zusätzliche, geeignete Bereiche auswählen, um die Verwaltung bestimmter Dienste zu aktivieren. Um unsere Lösung beispielsweise so zu erweitern, dass OneNote Notizbücher oder Planner-Pläne, Buckets und Aufgaben erstellt werden können, müssen Sie die erforderlichen Berechtigungsbereiche für die entsprechenden APIs hinzufügen.
Erstellen eines benutzerdefinierten Connectors
In dieser Übung erstellen Sie einen neuen benutzerdefinierten Connector, der in Microsoft Power Automate oder in Azure Logic Apps verwendet werden kann. Die OpenAPI-Definitionsdatei ist mit dem richtigen Pfad für den Microsoft $batch Graph-Endpunkt und zusätzlichen Einstellungen vorkonfiguriert, um den einfachen Import zu ermöglichen.
Es gibt zwei Optionen zum Erstellen eines benutzerdefinierten Connectors für Microsoft Graph:
- Erstellen aus leer
- Importieren einer OpenAPI-Datei
Option 1: Erstellen eines benutzerdefinierten Connectors aus einer leeren Vorlage
Öffnen Sie einen Browser, und navigieren Sie zu Microsoft Power Automate. Melden Sie sich mit Ihrem Office 365 Mandantenadministratorkonto an. Klicken Sie auf der linken Seite auf "Daten", und wählen Sie im Dropdownmenü das Element "Benutzerdefinierte Connectors" aus.

Klicken Sie auf der Seite "Benutzerdefinierte Connectors" oben rechts auf den Link "Neuer benutzerdefinierter Konnektor", und wählen Sie dann im Dropdownmenü das Element "Aus leerem Element erstellen" aus.

Geben Sie MS Graph Batch Connector in das Textfeld Connectorname ein. Choose Continue.
Füllen Sie auf der Seite "Connectorkonfiguration Allgemein" die Felder wie folgt aus.
- Schema: HTTPS
- Host:
graph.microsoft.com - Basis-URL:
/
Wählen Sie die Schaltfläche "Sicherheit" aus, um fortzufahren.

Füllen Sie auf der Seite Sicherheit die Felder wie folgt aus.
- Wählen Sie aus, welche Authentifizierung von Ihrer API implementiert wird:
OAuth 2.0 - Identitätsanbieter:
Azure Active Directory - Client-ID: die Anwendungs-ID, die Sie in der vorherigen Übung erstellt haben
- Geheimer Clientschlüssel: der Schlüssel, den Sie in der vorherigen Übung erstellt haben
- Anmelde-URL:
https://login.windows.net - Mandanten-ID:
common - Ressourcen-URL:
https://graph.microsoft.com(kein nachgestelltes /) - Bereich: Leer lassen
Wählen Sie die Schaltfläche "Definition" aus, um fortzufahren.

Wählen Sie auf der Seite "Definition" die Option "Neue Aktion" aus, und füllen Sie die Felder wie folgt aus.
- Zusammenfassung:
Batch - Beschreibung:
Execute Batch with Delegate Permission - Vorgangs-ID:
Batch - Sichtbarkeit:
important

Create Request by selecting Import from Sample and fill in the fields as follows.
- Verb:
POST - URL:
https://graph.microsoft.com/v1.0/$batch - Kopfzeilen: Leer lassen
- Textkörper:
{}
Wählen Sie Importieren aus.

Klicken Sie oben rechts auf "Connector erstellen". Nachdem der Connector erstellt wurde, kopieren Sie die generierte Umleitungs-URL von der Sicherheitsseite.

Wechseln Sie zurück zu der registrierten Anwendung im Azure-Portal, das Sie in der vorherigen Übung erstellt haben. Wählen Sie im linken Menü die Option "Authentifizierung" aus. Wählen Sie Plattform hinzufügen aus, und wählen Sie dann Web aus. Geben Sie die Umleitungs-URL ein, die aus dem vorherigen Schritt in den Umleitungs-URIs kopiert wurde, und wählen Sie dann Konfigurieren aus.

Option 2: Erstellen eines benutzerdefinierten Connectors durch Importieren der OpenAPI-Datei
Erstellen Sie mithilfe eines Text-Editors eine neue leere Datei mit MSGraph-Delegate-Batch.swagger.json dem Namen, und fügen Sie den folgenden Code hinzu.
{
"swagger": "2.0",
"info": {
"title": "MS Graph Batch Connector",
"description": "",
"version": "1.0"
},
"host": "graph.microsoft.com",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [],
"produces": [],
"paths": {
"/v1.0/$batch": {
"post": {
"responses": {
"default": {
"description": "default",
"schema": {}
}
},
"summary": "Batch",
"description": "Execute Batch with Delegate Permission",
"operationId": "Batch",
"x-ms-visibility": "important",
"parameters": [
{
"name": "body",
"in": "body",
"required": false,
"schema": {
"type": "object",
"properties": {}
}
}
]
}
}
},
"definitions": {},
"parameters": {},
"responses": {},
"securityDefinitions": {
"oauth2_auth": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
"tokenUrl": "https://login.windows.net/common/oauth2/authorize",
"scopes": {}
}
},
"security": [
{
"oauth2_auth": []
}
],
"tags": []
}
Öffnen Sie einen Browser, und navigieren Sie zu Microsoft Power Automate. Melden Sie sich mit Ihrem Office 365 Mandantenadministratorkonto an. Klicken Sie auf der linken Seite auf "Daten", und wählen Sie im Dropdownmenü das Element "Benutzerdefinierte Connectors" aus.
Wählen Sie auf der Seite "Benutzerdefinierte Connectors" oben rechts den Link "Neuer benutzerdefinierter Connector" aus, und wählen Sie dann im Dropdownmenü das Element "OpenAPI-Datei importieren" aus.
Geben Sie MS Graph Batch Connector in das Textfeld Connectorname ein. Wählen Sie das Ordnersymbol aus, um die OpenAPI-Datei hochzuladen. Navigieren Sie zu der datei, die MSGraph-Delegate-Batch.swagger.json Sie erstellt haben. Wählen Sie "Weiter" aus, um die OpenAPI-Datei hochzuladen.
Wählen Sie auf der Seite "Connectorkonfiguration" im Navigationsmenü den Link "Sicherheit" aus. Füllen Sie die Felder wie folgt aus.
- Wählen Sie aus, welche Authentifizierung von Ihrer API implementiert wird:
OAuth 2.0 - Identitätsanbieter:
Azure Active Directory - Client-ID: die Anwendungs-ID, die Sie in der vorherigen Übung erstellt haben
- Geheimer Clientschlüssel: der Schlüssel, den Sie in der vorherigen Übung erstellt haben
- Anmelde-URL:
https://login.windows.net - Mandanten-ID:
common - Ressourcen-URL:
https://graph.microsoft.com(kein nachgestelltes /) - Bereich: Leer lassen
Klicken Sie oben rechts auf "Connector erstellen". Nachdem der Connector erstellt wurde, kopieren Sie die generierte Umleitungs-URL.

Wechseln Sie zurück zu der registrierten Anwendung im Azure-Portal, das Sie in der vorherigen Übung erstellt haben. Wählen Sie im linken Menü die Option "Authentifizierung" aus. Wählen Sie Plattform hinzufügen aus, und wählen Sie dann Web aus. Geben Sie die Umleitungs-URL ein, die aus dem vorherigen Schritt in den Umleitungs-URIs kopiert wurde, und wählen Sie dann Konfigurieren aus.

Autorisieren des Connectors
Der letzte Konfigurationsschritt, um sicherzustellen, dass der Connector einsatzbereit ist, besteht darin, den benutzerdefinierten Connector zu autorisieren und zu testen, um eine zwischengespeicherte Verbindung zu erstellen.
Wichtig
Für die folgenden Schritte müssen Sie mit Administratorrechten angemeldet sein.
Wechseln Sie in Microsoft Power Automatezum Menüelement "Daten" auf der linken Seite, und wählen Sie die Seite "Verbindungen" aus. Wählen Sie den Link "Neue Verbindung" aus.

Suchen Sie Ihren benutzerdefinierten Connector, und schließen Sie die Verbindung ab, indem Sie auf die Plus-Schaltfläche klicken. Melden Sie sich mit dem Azure Active Directory-Konto Ihres Office 365 Mandantenadministrators an.

Wenn Sie zur Eingabe der angeforderten Berechtigungen aufgefordert werden, überprüfen Sie die Zustimmung im Namen Ihrer Organisation, und wählen Sie dann "Annehmen" aus, um Berechtigungen zu autorisieren.

Nachdem Sie die Berechtigungen autorisiert haben, wird in Power Automate eine Verbindung erstellt.
Der benutzerdefinierte Connector ist jetzt konfiguriert und aktiviert. Es kann zu einer Verzögerung bei der Anwendung und Verfügbarkeit von Berechtigungen kommen, aber der Connector ist jetzt konfiguriert.
Testbatchverarbeitung in Graph Explorer
Bevor Sie eine Flow erstellen, um den neuen Connector zu nutzen, verwenden Sie Microsoft Graph Explorer, um einige der Funktionen und Features der JSON-Batchverarbeitung in Microsoft Graph zu ermitteln.
Öffnen Sie den Microsoft Graph-Explorer in Ihrem Browser. Melden Sie sich mit Ihrem Office 365 Mandantenadministratorkonto an. Suchen Sie in den Beispielabfragen nach Batch.
Wählen Sie im linken Menü die Beispielabfrage "Parallele GETs ausführen" aus. Wählen Sie oben rechts auf dem Bildschirm die Schaltfläche "Abfrage ausführen" aus.

Der Beispielbatchvorgang batchet drei HTTP GET-Anforderungen und gibt einen einzelnen HTTP POST an den /v1.0/$batch Graph Endpunkt aus.
{
"requests": [
{
"url": "/me?$select=displayName,jobTitle,userPrincipalName",
"method": "GET",
"id": "1"
},
{
"url": "/me/messages?$filter=importance eq 'high'&$select=from,subject,receivedDateTime,bodyPreview",
"method": "GET",
"id": "2"
},
{
"url": "/me/events",
"method": "GET",
"id": "3"
}
]
}
Die zurückgegebene Antwort wird unten angezeigt. Beachten Sie das Array der Antworten, das von Microsoft Graph zurückgegeben wird. Die Antworten auf die batchierten Anforderungen werden möglicherweise in einer anderen Reihenfolge angezeigt als die Reihenfolge der Anforderungen in der POST-Anforderung. Die id Eigenschaft sollte verwendet werden, um einzelne Batchanforderungen mit bestimmten Batchantworten zu korrelieren.
Hinweis
Die Antwort wurde zur besseren Lesbarkeit abgeschnitten.
{
"responses": [
{
"id": "1",
"status": 200,
"headers": {...},
"body": {...}
},
{
"id": "3",
"status": 200,
"headers": {...},
"body": {...}
}
{
"id": "2",
"status": 200,
"headers": {...},
"body": {...}
}
]
}
Jede Antwort enthält eine id , , und eine status headers body Eigenschaft. Wenn die status Eigenschaft für eine Anforderung einen Fehler angibt, enthält sie alle body fehlerinformationen, die von der Anforderung zurückgegeben werden.
Um eine Reihenfolge der Vorgänge für die Anforderungen sicherzustellen, können einzelne Anforderungen mithilfe der dependsOn-Eigenschaft sequenziert werden.
Zusätzlich zu Sequenzierungs- und Abhängigkeitsvorgängen geht die JSON-Batchverarbeitung von einem Basispfad aus und führt die Anforderungen aus einem relativen Pfad aus. Jedes Batchanforderungselement wird von den /v1.0/$batch /beta/$batch OR-Endpunkten wie angegeben ausgeführt. Dies kann erhebliche Unterschiede aufweisen, da der /beta Endpunkt möglicherweise eine zusätzliche Ausgabe zurückgibt, die möglicherweise NICHT im Endpunkt zurückgegeben /v1.0 wird.
Führen Sie beispielsweise die folgenden beiden Abfragen im Microsoft Graph-Exploreraus.
- Fragen Sie den
/v1.0/$batchEndpunkt mithilfe der URL/meab (Kopieren und Einfügen unten).
{
"requests": [
{
"id": 1,
"url": "/me",
"method": "GET"
}
]
}

Verwenden Sie nun die Versionsauswahl-Dropdownliste, um zum Endpunkt zu beta wechseln, und stellen Sie genau die gleiche Anforderung.

Was sind die Unterschiede bei den zurückgegebenen Ergebnissen? Versuchen Sie einige andere Abfragen, um einige der Unterschiede zu identifizieren.
Zusätzlich zu unterschiedlichen Antwortinhalten und /v1.0 /beta Endpunkten ist es wichtig, die möglichen Fehler zu verstehen, wenn eine Batchanforderung gestellt wird, für die keine Berechtigungszustimmung erteilt wurde. Nachfolgend sehen Sie beispielsweise ein Batchanforderungselement zum Erstellen eines OneNote Notizbuchs.
{
"id": 1,
"url": "/groups/65c5ecf9-3311-449c-9904-29a2c76b9a50/onenote/notebooks",
"headers": {
"Content-Type": "application/json"
},
"method": "POST",
"body": {
"displayName": "Meeting Notes"
}
}
Wenn jedoch die Berechtigungen zum Erstellen von OneNote Notizbüchern nicht erteilt wurden, wird die folgende Antwort empfangen. Beachten Sie den Statuscode 403 (Forbidden) und die Fehlermeldung, die angibt, dass das bereitgestellte OAuth-Token nicht die Bereiche enthält, die zum Abschließen der angeforderten Aktion erforderlich sind.
{
"responses": [
{
"id": "1",
"status": 403,
"headers": {
"Cache-Control": "no-cache"
},
"body": {
"error": {
"code": "40004",
"message": "The OAuth token provided does not have the necessary scopes to complete the request.
Please make sure you are including one or more of the following scopes: Notes.ReadWrite.All,
Notes.Read.All (you provided these scopes: Group.Read.All,Group.ReadWrite.All,User.Read,User.Read.All)",
"innerError": {
"request-id": "92d50317-aa06-4bd7-b908-c85ee4eff0e9",
"date": "2018-10-17T02:01:10"
}
}
}
}
]
}
Jede Anforderung in Ihrem Batch gibt einen Statuscode und Ergebnisse oder Fehlerinformationen zurück. Sie müssen jede der Antworten verarbeiten, um Erfolg oder Fehler der einzelnen Batchvorgänge zu ermitteln.
Erstellen eines Flusses
In dieser Übung erstellen Sie einen Flow, um den benutzerdefinierten Connector zu verwenden, den Sie in früheren Übungen erstellt haben, um ein Microsoft-Team zu erstellen und zu konfigurieren. Der Flow verwendet den benutzerdefinierten Connector, um eine POST-Anforderung zum Erstellen einer Office 365 einheitlichen Gruppe zu senden, hält für eine Verzögerung an, während die Gruppenerstellung abgeschlossen ist, und sendet dann eine PUT-Anforderung zum Zuordnen der Gruppe zu einem Microsoft-Team.
Am Ende sieht ihr Fluss ähnlich wie in der folgenden Abbildung aus:

Öffnen Sie Microsoft Power Automate in Ihrem Browser, und melden Sie sich mit Ihrem Office 365 Mandantenadministratorkonto an. Wählen Sie im linken Navigationsbereich "Meine Flüsse" aus. Wählen Sie "Neu" und dann "Sofort" aus leer aus. Geben Sie Create Team Flow Namen ein, und wählen Sie dann unter "Auslösen dieses Flusses auswählen" die Option "Manuell auslösen" aus. Klicken Sie auf Erstellen.
Wählen Sie die Option "Manuell auslösen" aus, und wählen Sie dann "Eingabe hinzufügen" aus, wählen Sie "Text" aus, und geben Sie Name den Titel ein.

Wählen Sie "Neuer Schritt" aus, und geben Sie Batch in das Suchfeld ein. Fügen Sie die Aktion MS Graph Batchconnector hinzu. Wählen Sie die Auslassungszeichen aus, und benennen Sie diese Aktion in Batch POST-groups .
Fügen Sie den folgenden Code in das Textfeld des Textkörpers der Aktion ein.
{
"requests": [
{
"url": "/groups",
"method": "POST",
"id": 1,
"headers": { "Content-Type": "application/json" },
"body": {
"description": "REPLACE",
"displayName": "REPLACE",
"groupTypes": ["Unified"],
"mailEnabled": true,
"mailNickname": "REPLACE",
"securityEnabled": false
}
}
]
}
Ersetzen Sie jeden REPLACE Platzhalter, indem Sie im Name Menü "Dynamische Inhalte hinzufügen" den Wert aus dem manuellen Trigger auswählen.

Wählen Sie "Neuer Schritt" aus, suchen Sie nach delay einer Verzögerungsaktion, fügen Sie sie hinzu, und konfigurieren Sie sie für 1 Minute.
Wählen Sie "Neuer Schritt" aus, und geben Sie Batch in das Suchfeld ein. Fügen Sie die Aktion MS Graph Batchconnector hinzu. Wählen Sie die Auslassungszeichen aus, und benennen Sie diese Aktion in Batch PUT-team .
Fügen Sie den folgenden Code in das Textfeld des Textkörpers der Aktion ein.
{
"requests": [
{
"id": 1,
"url": "/groups/REPLACE/team",
"method": "PUT",
"headers": {
"Content-Type": "application/json"
},
"body": {
"memberSettings": {
"allowCreateUpdateChannels": true
},
"messagingSettings": {
"allowUserEditMessages": true,
"allowUserDeleteMessages": true
},
"funSettings": {
"allowGiphy": true,
"giphyContentRating": "strict"
}
}
}
]
}
Wählen Sie den REPLACE Platzhalter aus, und wählen Sie dann "Ausdruck" im dynamischen Inhaltsbereich aus. Fügen Sie dem Ausdruck die folgende Formel hinzu.
body('Batch_POST-groups').responses[0].body.id

Diese Formel gibt an, dass wir die Gruppen-ID aus dem Ergebnis der ersten Aktion verwenden möchten.

Wählen Sie "Speichern" und dann "Test" aus, um den Fluss auszuführen.
Tipp
Wenn Sie einen Fehler wie The template validation failed: 'The action(s) 'Batch_POST-groups' referenced by 'inputs' in action 'Batch_2' are not defined in the template' erhalten, ist der Ausdruck falsch und verweist wahrscheinlich auf eine Flussaktion, die er nicht finden kann. Stellen Sie sicher, dass der Aktionsname, auf den Sie verweisen, exakt übereinstimmt.
Wählen Sie das Optionsfeld zum Auslösen der Aktion aus, und wählen Sie "Speichern & Testen" aus. Wählen Sie im Dialogfeld "Weiter" aus. Geben Sie einen Namen ohne Leerzeichen an, und wählen Sie "Run flow" aus, um ein Team zu erstellen.

Wählen Sie abschließend "Fertig" aus, um das Aktivitätsprotokoll anzuzeigen. Sobald der Ablauf abgeschlossen ist, wurden Ihre Office 365 Gruppe und Ihr Team konfiguriert. Wählen Sie die Batchaktionselemente aus, um die Ergebnisse der JSON-Batchaufrufe anzuzeigen. Die outputs Aktion sollte den Batch PUT-team Statuscode 201 für eine erfolgreiche Teamzuordnung aufweisen, ähnlich wie in der abbildung unten.

Den Fluss verlängern
Die Flow, die Sie in der vorherigen Übung erstellt haben, verwendet die $batch API, um zwei einzelne Anforderungen an die Microsoft-Graph zu stellen. Das Aufrufen des $batch Endpunkts auf diese Weise bietet einige Vorteile und Flexibilität, aber die eigentliche Leistungsfähigkeit des $batch Endpunkts kommt beim Ausführen mehrerer Anforderungen an Microsoft Graph in einem einzigen $batch Aufruf. In dieser Übung erweitern Sie das Beispiel für das Erstellen einer einheitlichen Gruppe und das Zuordnen eines Teams zum Erstellen mehrerer Standardkanäle für das Team in einer einzigen $batch Anforderung.
Öffnen Sie Microsoft Power Automate in Ihrem Browser, und melden Sie sich mit Ihrem Office 365 Mandantenadministratorkonto an. Wählen Sie die Flow aus, die Sie im vorherigen Schritt erstellt haben, und wählen Sie Bearbeiten aus.
Wählen Sie "Neuer Schritt" aus, und geben Sie Batch in das Suchfeld ein. Fügen Sie die Aktion MS Graph Batchconnector hinzu. Wählen Sie die Auslassungszeichen aus, und benennen Sie diese Aktion in Batch POST-channels .
Fügen Sie den folgenden Code in das Textfeld des Textkörpers der Aktion ein.
{
"requests": [
{
"id": 1,
"url": "/teams/REPLACE/channels",
"headers": {
"Content-Type": "application/json"
},
"method": "POST",
"body": {
"displayName": "Marketing Collateral",
"description": "Marketing collateral and documentation."
}
},
{
"id": 2,
"dependsOn": [
"1"
],
"url": "/teams/REPLACE/channels",
"headers": {
"Content-Type": "application/json"
},
"method": "POST",
"body": {
"displayName": "Vendor Contracts",
"description": "Vendor documents, contracts, agreements and schedules."
}
},
{
"id": 3,
"dependsOn": [
"2"
],
"url": "/teams/REPLACE/channels",
"headers": {
"Content-Type": "application/json"
},
"method": "POST",
"body": {
"displayName": "General Client Agreements",
"description": "General Client documents and agreements."
}
}
]
}
Beachten Sie, dass die drei obigen Anforderungen die DependsOn-Eigenschaft verwenden, um eine Sequenzreihenfolge anzugeben, und jede führt eine POST-Anforderung aus, um einen neuen Kanal im neuen Team zu erstellen.
Wählen Sie jede Instanz des REPLACE Platzhalters aus, und wählen Sie dann im dynamischen Inhaltsbereich "Ausdruck" aus. Fügen Sie dem Ausdruck die folgende Formel hinzu.
body('Batch_PUT-team').responses[0].body.id

Wählen Sie "Speichern" und dann "Testen" aus, um die Flow auszuführen. Wählen Sie das Optionsfeld zum Auslösen der Aktion aus, und wählen Sie dann "Speichern & Testen" aus. Geben Sie einen eindeutigen Gruppennamen in das Feld Name ohne Leerzeichen ein, und wählen Sie Ausführen aus, um die Flow auszuführen.
Nachdem die Flow gestartet wurde, wählen Sie die Schaltfläche "Fertig" aus, um das Aktivitätsprotokoll anzuzeigen. Wenn die Flow abgeschlossen ist, enthält die endgültige Ausgabe für die Batch POST-channels Aktion eine 201 HTTP-Statusantwort für jeden erstellten Kanal.

Navigieren Sie zu Microsoft Teams und melden Sie sich mit Ihrem Office 365 Mandantenadministratorkonto an. Stellen Sie sicher, dass das soeben erstellte Team angezeigt wird und die drei kanäle enthält, die von der Anforderung erstellt $batch wurden.

Während die oben genannte Batch POST-channels Aktion in diesem Lernprogramm als separate Aktion implementiert wurde, hätten die Aufrufe zum Erstellen der Kanäle als zusätzliche Aufrufe in der Aktion hinzugefügt werden Batch PUT-team können. Dadurch hätten das Team und alle Kanäle in einem einzigen Batchanruf erstellt. Versuchen Sie es selbst.
Denken Sie abschließend daran, dass JSON-Batchingaufrufe einen HTTP-Statuscode für jede Anforderung zurückgeben. In einem Produktionsprozess können Sie die Nachbearbeitung der Ergebnisse mit einer Aktion kombinieren Apply to each und überprüfen, ob jede einzelne Antwort über einen 201-Statuscode verfügt oder alle anderen empfangenen Statuscodes ausgleicht.
Herzlichen Glückwunsch!
Sie haben das Lernprogramm Power Automate Microsoft Graph abgeschlossen. Nachdem Sie nun über einen funktionierenden benutzerdefinierten Connector verfügen, der Microsoft Graph aufruft, können Sie experimentieren und neue Features hinzufügen. Besuchen Sie die Übersicht über Microsoft Graph, um alle Daten anzuzeigen, auf die Sie mit Microsoft Graph zugreifen können.
Feedback
Bitte geben Sie Feedback zu diesem Lernprogramm im GitHub Repository.
Liegt ein Problem mit diesem Abschnitt vor? Wenn ja, senden Sie uns Feedback, damit wir den Abschnitt verbessern können.