Erstellen Ihrer ersten Microsoft Graph Data Connect-Anwendung
Microsoft Graph Data Connect erweitert das Transaktionsmodell von Microsoft Graph um eine intelligente Möglichkeit, auf umfangreiche Daten in großem Maßstab zuzugreifen. Zu diesen Daten zählt u. a., wie Mitarbeiter über alle Anwendungen und Dienste in Microsoft 365 hinweg kommunizieren, zusammenarbeiten und ihre Zeit einteilen. Data Connect ist ideal für Big Data und maschinelles Lernen und ermöglicht Ihnen durch die Übertragung von Microsoft 365-Daten in Azure die Entwicklung von Anwendungen für Analyse, Erkenntnisgewinnung und Optimierung von Geschäftsprozessen. Dank dieser Integration können Sie die Vorteile der großen Suite für die Datenberechnung und Speicher in Azure nutzen, zugleich werden Branchenstandards eingehalten und Ihre Daten bleiben sicher.

Microsoft Graph Data Connect nutzt Azure Data Factory, um Microsoft 365-Daten in konfigurierbaren Intervallen in den Speicher Ihrer Anwendung zu kopieren. Darüber hinaus bietet es eine Reihe von Tools zur Optimierung der Übermittlung dieser Daten an Microsoft Azure, die Ihnen den Zugriff auf die am besten geeigneten Entwicklungs- und Hostingtools ermöglichen. Mit Data Connect erhalten Sie zudem ein genaueres Steuerungs- und Zustimmungsmodell: Sie können Daten verwalten, sehen, wer darauf zugreift, und bestimmte Eigenschaften einer Entität anfordern. Dadurch wird das Microsoft Graph-Modell verbessert, das Anwendungen den Zugriff auf ganze Entitäten gewährt oder verweigert.
Sie können Data Connect verwenden, um Szenarien für maschinelles Lernen für Ihre Organisation zu aktivieren. In diesen Szenarien können Sie Anwendungen erstellen, die den Beteiligten wertvolle Informationen liefern, Modelle für Maschinelles Lernen trainieren, und sogar Prognosen basierend auf großen Mengen gesammelter Daten anstellen.
Erste Schritte
In diesem Lernprogramm erstellen Sie Ihre erste Microsoft Graph Data Connect-Anwendung. Spannend, oder? Das denken wir auch! Um zu beginnen, müssen Sie zuerst ein paar Dinge einrichten.
Voraussetzungen
Um dieses Labor abzuschließen, benötigen Sie die folgenden Abonnements oder Lizenzen.
Microsoft 365-Mandant
- Wenn Sie keines haben, erhalten Sie eine (kostenlos), indem Sie sich beim Microsoft 365-Entwicklerprogramm anmelden.
- Mehrere Microsoft 365-Benutzer mit gesendeten und empfangenen E-Mails.
- Zugriff auf mindestens zwei Konten, die die folgenden Anforderungen erfüllen:
- Muss die rolle globaler Administrator zugewiesen sein.
- Muss Zugriff auf das Microsoft 365 Admin Center haben.
Microsoft Azure-Abonnement
- Wenn Sie keine haben, können Sie eine (kostenlos) auf unserer Azure-Website erhalten.
- Dem Konto, das für die Anmeldung verwendet wird, muss die globaler Administrator Rolle zugewiesen sein.
- Das Azure-Abonnement muss sich im selben Mandanten wie der Microsoft 365-Mandant befinden, da Graph Data Connect nur Daten in ein Azure-Abonnement im selben Mandanten exportiert, nicht mandantenübergreifend.
- Ihre Microsoft 365- und Azure-Mandanten müssen sich im selben Microsoft Azure Active Directory Mandanten befinden.
Stellen Sie sicher, dass Visual Studio auf Ihrem Entwicklungscomputer installiert ist.
Hinweis
Die in dieser Übung verwendeten Screenshots und Beispiele stammen von einem Microsoft 365-Testmandanten mit Beispiel-E-Mails von Testbenutzern. Sie können ihren eigenen Microsoft 365-Mandanten verwenden, um die gleichen Schritte auszuführen. Es werden keine Daten in Microsoft 365 geschrieben. Eine Kopie der E-Mail-Daten wird von allen Benutzern in einem Microsoft 365-Mandanten extrahiert und in ein Azure Blob Storage Konto kopiert, über das Sie die Kontrolle darüber behalten, wer Zugriff auf die Daten innerhalb der Azure Blob Storage hat.
Einrichten Ihres Microsoft 365-Mandanten und Aktivieren von Microsoft Graph Data Connect
Bevor Sie Microsoft Graph Data Connect zum ersten Mal verwenden, müssen Sie Ihren Microsoft 365-Mandanten konfigurieren. Dazu müssen Sie den Dienst aktivieren und eine Sicherheitsgruppe mit Berechtigungen zum Genehmigen von Datenextraktionsanforderungen konfigurieren.
Azure AD-Benutzern die globaler Administrator Rolle erteilen
In diesem Schritt stellen Sie sicher, dass zwei Benutzer in Ihrem Microsoft 365-Mandanten die rolle globaler Administrator aktiviert haben.
- Integrierte Rolle "Globaler Administrator".
- Erhöhen Sie den Zugriff, um die Rolle des globalen Administrators zu erhalten.
Konfigurieren der Genehmigenden Gruppe der Zustimmungsanforderung in Microsoft Graph Data Connect
In diesem Schritt richten Sie Ihren Microsoft 365-Mandanten so ein, dass die Verwendung von Microsoft Graph Data Connect aktiviert wird.
Öffnen Sie einen Browser, und wechseln Sie zu Ihrem Microsoft 365 Admin Portal.
Wählen Sie in der Randleistennavigation "Aktive Gruppen" aus.

Wählen Sie die Schaltfläche " Gruppe hinzufügen " aus.
Verwenden Sie Folgendes, um die neue E-Mail-aktivierte Sicherheitsgruppe zu erstellen, und wählen Sie die Schaltfläche "Hinzufügen" aus.
- Typ: E-Mail-aktivierte Sicherheit

- Name: Zustimmungsanforderung genehmigenden Personen

- Email Präfix: consentrequestapprovers

Es kann bis zu einer Stunde dauern , bis die neu erstellte Gruppe in der Liste angezeigt wird. Wenn die Gruppe erstellt wurde, wählen Sie sie aus.
Wechseln Sie erneut zur Option "Aktive Gruppen ", und suchen Sie nach der soeben erstellten Gruppe.
Wählen Sie die Gruppe und dann auf der Registerkarte " Mitglieder " die Option "Alle anzeigen" und "Mitglieder verwalten" aus.
Fügen Sie der neuen Gruppe die beiden Benutzer hinzu, für die Sie die Rolle globaler Administrator aktiviert haben.
Aktivieren von Microsoft Graph Data Connect in Ihrem Microsoft 365-Mandanten
In diesem Schritt aktivieren Sie den Microsoft Graph Data Connect-Dienst auf Ihrem Microsoft 365-Mandanten.
Während Sie noch beim Microsoft 365 Admin-Portal angemeldet sind, wählen Sie das Menüelement "Einstellungen > Organisationseinstellungen" aus.
Wählen Sie den Microsoft Graph Data Connect-Dienst aus.

Aktivieren Sie das Kontrollkästchen, das besagt, dass Microsoft Graph Data Connect für Ihre gesamte Organisation aktiviert oder deaktiviert wird, um Data Connect zu aktivieren.

Geben Sie genehmigungsberechtigte Personen (oder den Namen der zuvor erstellten Gruppe) in die Gruppe der Benutzer ein, um Genehmigungsentscheidungen zu treffen , und wählen Sie "Speichern" aus.
Einrichten der Azure Active Directory-App-Registrierung
In dieser Übung erstellen, ausführen und genehmigen Sie eine Azure Data Factory-Pipeline, um Daten aus Microsoft 365 zur zusätzlichen Verarbeitung in ein Azure Storage-Blob zu extrahieren.
Erstellen einer Microsoft Azure Active Directory Anwendungsregistrierung
Der erste Schritt besteht darin, eine Azure AD-Anwendung zu erstellen, die als Sicherheitsprinzipal zum Ausführen des Datenextraktionsvorgangs verwendet wird.
Öffnen Sie einen Browser, und wechseln Sie zu Ihrem Azure-Portal.
Melden Sie sich mit einem Konto mit globaler Administrator Rechten für Ihre Azure- und Microsoft 365-Mandanten an.
Wählen Sie in der Randleistennavigation Azure Active Directory (Azure AD) aus.
Wählen Sie auf der Seite "Azure AD-Übersicht" im Abschnitt "Verwalten" des Menüs App-Registrierungen aus.
Wählen Sie die Schaltfläche " Neue Registrierung " aus.

Verwenden Sie die folgenden Werte, um eine neue Azure AD-Anwendung zu erstellen, und wählen Sie "Registrieren" aus.
- Name: Microsoft Graph Data Connect-Datenübertragung
- Unterstützte Kontotypen: Nur Konten in diesem Organisationsverzeichnis.
- Umleitungs-URI: Behalten Sie die Standardwerte bei.

Suchen Sie die Anwendungs-ID (Client-ID), und kopieren Sie sie, wie Sie sie später in diesem Lernprogramm benötigen. Dies wird als Dienstprinzipal-ID bezeichnet.
Suchen Sie die Verzeichnis-ID (Mandanten-ID), und kopieren Sie sie, wie Sie sie später in diesem Lernprogramm benötigen. Dies wird als Mandanten-ID bezeichnet.
Wählen Sie in der Randleistennavigation unter "Verwalten**" die Option "Zertifikate und geheime Schlüssel**" aus.
Wählen Sie die Schaltfläche "Neuer geheimer Clientschlüssel" aus. Legen Sie "Beschreibung " auf einen beliebigen Namen fest, legen Sie "Ablaufdatum " auf einen beliebigen Wert in der Dropdownliste fest, und wählen Sie "Hinzufügen" aus.

- Nachdem der geheime Clientschlüssel erstellt wurde, stellen Sie sicher, dass Sie den Wert an einem sicheren Ort speichern, da er später nicht mehr verfügbar ist und Sie einen neuen erstellen müssen.
- Dies wird als Dienstprinzipalschlüssel referenziert.
Wählen Sie in der Randleistennavigation für die Anwendung "Besitzer" aus.
Stellen Sie sicher, dass Ihr Konto als Besitzer für die Anwendung aufgeführt ist. Wenn es nicht als Besitzer aufgeführt ist, fügen Sie es hinzu.

Einrichten Ihrer Azure Storage-Ressource
In diesem Schritt erstellen Sie ein Azure Storage-Konto, in dem Microsoft Graph Data Connect die aus Microsoft 365 extrahierten Daten zur weiteren Verarbeitung speichert.
Öffnen Sie einen Browser, und wechseln Sie zu Ihrem Azure-Portal.
Melden Sie sich mit einem Konto mit globaler Administrator Rechten für Ihre Azure- und Microsoft 365-Mandanten an.
Wählen Sie in der Randleistennavigation die Option "Ressource erstellen" aus.
Suchen Sie den Ressourcentyp "Speicherkonto", und verwenden Sie die folgenden Werte, um ihn zu erstellen, und wählen Sie dann "Überprüfen+ Erstellen" aus.
- Abonnement: Wählen Sie Ihr Azure-Abonnement aus
- Ressourcengruppe: GraphDataConnect (oder Auswählen einer vorhandenen Ressourcengruppe)
- Speicherkontoname: mgdcm365datastore
- Region: Wählen Sie eine Azure-Region in derselben Region wie Ihre Microsoft 365-Region aus.
- Leistung: Standard
- Redundanz: Georedundanter Speicher (GRS)
- Registerkarte "Erweitert":
- Zugriffsstufe: Heiß
Überprüfen Sie, dass die Einstellungen denen im vorherigen Schritt entsprechen, und wählen Sie "Erstellen" aus.
Nachdem das Azure Storage-Konto erstellt wurde, gewähren Sie der zuvor erstellten Azure AD-Anwendung den richtigen Zugriff darauf.
Wählen Sie das Azure Storage-Konto aus.
Wählen Sie im Randleistenmenü das Access-Steuerelement (IAM) aus.
Wählen Sie die Schaltfläche "Hinzufügen" im Block "Rollenzuweisung hinzufügen " aus.
Verwenden Sie die folgenden Werte, um die Anwendung zu finden, die Sie zuvor ausgewählt haben, um ihr die Rolle " Speicher-Blob-Datenmitwirkender " zu gewähren, und wählen Sie dann "Speichern" aus.
- Rolle: Speicher-Blob-Datenmitwirkender
- Zugriff zuweisen zu: Benutzer, Gruppe oder Dienstprinzipal
- Auswählen: Microsoft Graph Data Connect Data Transfer (der Name der zuvor erstellten Azure AD-Anwendung)

Erstellen Sie einen neuen Container im Azure Storage-Konto "mgdcm365datastore ".
Wählen Sie das Azure Storage-Konto "mgdcm365datastore " aus.
Wählen Sie im Randleistenmenü unter dem Abschnitt "Blob-Dienst" die Option "Container" aus.
Wählen Sie oben auf der Seite die Schaltfläche "+Container " aus, verwenden Sie die folgenden Werte, und wählen Sie dann "Erstellen" aus.
- Name: m365mails
- Öffentliche Zugriffsebene: Privat (kein anonymer Zugriff)

Einrichten der Azure Data Factory Ressource
Der nächste Schritt besteht darin, die Azure Data Factory zum Erstellen einer Pipeline zum Extrahieren der Daten aus Microsoft 365 in das Azure Storage-Konto mithilfe von Microsoft Graph Data Connect zu verwenden.
Erstellen einer Azure Data Factory Pipeline
Öffnen Sie einen Browser, und wechseln Sie zu Ihrem Azure-Portal.
Melden Sie sich mit einem Konto mit globaler Administrator Rechten für Ihre Azure- und Microsoft 365-Mandanten an.
Wählen Sie in der Randleistennavigation die Option "Ressource erstellen" aus.
Suchen Sie den Data Factory-Ressourcentyp , und verwenden Sie die folgenden Werte, um ihn zu erstellen, und wählen Sie dann "Erstellen" aus.
Abonnement: Wählen Sie Ihr Azure-Abonnement aus
Ressourcengruppe: GraphDataConnect
Region: Wählen Sie eine Azure-Region in derselben Region wie Ihre Microsoft 365-Region aus.
Name: dfM365toBlobStorage
Version: V2

Stellen Sie auf der Registerkarte "Git-Konfiguration " sicher, dass Sie Git konfigurieren oder später die Option "Git konfigurieren" auswählen.
Nachdem die Azure Data Factory Ressource erstellt wurde, wählen Sie die Kachel "Autor" und "Überwachen" aus, um den Azure Data Factory Vollbild-Editor zu starten.

Wechseln Sie von der Übersicht zur Benutzeroberfläche "Verwalten ", indem Sie sie im linken Navigationsbereich auswählen.
Standardmäßig verwendet die Azure Data Factory eine Integrationslaufzeit, die die Region automatisch auflöst. Da Data Connect erfordert, dass Ihre Quelle und Ihr Ziel sowie die Integrationslaufzeit in derselben Microsoft 365-Region vorhanden sind, wird empfohlen, eine neue Integrationslaufzeit mit einer festen Region zu erstellen.
Wählen Sie "Integrationslaufzeiten****neu" aus > .
Wählen Sie "Azure", "Selbst gehostet " und dann "Weiter" aus.
Wählen Sie "Azure für Netzwerkumgebung" und dann "Weiter" aus.

Verwenden Sie die folgenden Details, um das Formular auf dem letzten Bildschirm auszufüllen, und wählen Sie dann "Erstellen" aus.
- Name: Name der Integrationslaufzeit
- Beschreibung: Eingeben einer Beschreibung
- Region: Wählen Sie die Region aus, die Ihrer Microsoft 365-Region entspricht.
- Konfiguration des virtuellen Netzwerks (Vorschau): Deaktiviert
Wechseln Sie von der Oberfläche "Verwalten " zur Benutzeroberfläche "Autor ", indem Sie sie im linken Navigationsbereich auswählen.
Erstellen Sie eine neue Pipeline, indem Sie das Plussymbol und dann die Pipeline auswählen.

Ziehen Sie die Aktivität "Daten kopieren " aus dem Abschnitt "Verschieben und transformieren" auf die Entwurfsoberfläche.

Wählen Sie die Aktivität im Designer aus.
Wählen Sie die Registerkarte " Allgemein " aus, und geben Sie ihr einen Namen und eine Beschreibung.
- Name: CopyFromM365toBlobStorage
- Beschreibung: Eine gewünschte Beschreibung.
Wählen Sie im Aktivitäts-Editor-Bereich unter dem Designer die Registerkarte " Quelle " und dann " Neu" aus.
Suchen Sie das Dataset Office 365, wählen Sie es aus, und klicken Sie dann auf die Schaltfläche "Weiter".

Der Designer aktualisiert die Registerkarte " Quelle " mit den Microsoft 365-Connectoreinstellungen.
Wählen Sie die Option "Öffnen " neben dem Quelldatensatzfeld aus.
Wählen Sie in den Tabelleneinstellungen die Registerkarte " Verbindung " und dann die Schaltfläche " Neu " aus.
Geben Sie im daraufhin angezeigten Dialogfeld die Anwendungs-ID und die geheime ID der zuvor erstellten Azure AD-Anwendung in die Felder " Dienstprinzipal-ID " bzw. " Dienstprinzipalschlüssel " ein, und wählen Sie dann " Erstellen" aus.
Wählen Sie die Zuvor erstellte Integrationslaufzeit im Dropdownmenü "Verbinden über Integrationslaufzeit " aus.

Wählen Sie nach dem Erstellen der Microsoft 365-Verbindung für das Feld "Tabelle " BasicDataSet_v0 aus. Message_v0.
Wechseln von Office365Table zu Pipeline > Source. Verwenden Sie die folgenden Werte für den Datumsfilter.
- Spaltenname: CreatedDateTime
- Startzeit (UTC): Wählen Sie ein Datum vor dem aktuellen Datum aus.
- Endzeit (UTC): Aktuelles Datum auswählen
- Wählen Sie " Schema importieren " im Abschnitt "Ausgabespalten " aus.
Wählen Sie auf der Registerkarte "Pipeline" die Aktivität "Daten kopieren " und dann die Registerkarte " Senken " aus.
- Wählen Sie die Schaltfläche "Neu", dann Azure Blob Storage und dann die Schaltfläche "Weiter" aus.
- Wählen Sie "Binär " als Format für die Daten und dann die Schaltfläche " Weiter " aus.
- Weisen Sie dem Dataset den Namen M365JsonFile zu, und erstellen Sie einen neuen verknüpften Dienst, falls er noch nicht vorhanden ist.
Wählen Sie in der Tabelle die Registerkarte " Verbindung " und dann " Neu" aus.
Legen Sie die folgenden Werte im Dialogfeld fest, und wählen Sie dann "Fertig stellen" aus.
- Authentifizierungsmethode: Dienstprinzipal
- Azure-Abonnement: Alle auswählen
- Speicherkontoname: mgdcm365datastore
- Dies ist das Speicherkonto, das zuvor in dieser Übung erstellt wurde.
- Mandant: Geben Sie die ID Ihres Azure-Mandanten ein.
- Dienstprinzipal-ID: Geben Sie die ID der zuvor erstellten Azure AD-Anwendung ein.
- Dienstprinzipalschlüssel: Geben Sie den Hashschlüssel der zuvor erstellten Azure AD-Anwendung ein.
Wählen Sie neben dem Feld "Dateipfad " die Option "Durchsuchen" aus.
Wählen Sie den Namen des zuvor erstellten Speichercontainers aus.

Wenn die Pipeline erstellt wurde, wählen Sie oben im Designer die Schaltfläche " Alle überprüfen " aus.
Nachdem Sie alle gefundenen Probleme überprüft (und behoben haben), wählen Sie oben im Designer die Schaltfläche " Alle veröffentlichen " aus.
Ausführen der Azure Data Factory Pipeline
Nachdem die Pipeline erstellt wurde, ist es jetzt an der Zeit, sie auszuführen.
Hinweis
Es kann mehrere Minuten dauern, bis die Zustimmungsanforderung angezeigt wird, und es ist nicht ungewöhnlich, dass der gesamte Prozess (Starten, Anfordern der Zustimmung und nach Genehmigung der Zustimmung zum Abschließen der Pipelineausführung) mehr als 40 Minuten dauert.
Wählen Sie im Azure Data Factory-Designer bei geöffneter Pipeline "Trigger hinzufügen" > "Jetzt auslösen" aus.

Nachdem Sie den Auftrag gestartet haben, wählen Sie im Randleistenmenü "Überwachen " aus, um die aktuellen laufenden Aufträge anzuzeigen.
Suchen Sie auf der linken Navigationsleiste die Registerkarte " Pipeline wird ausgeführt ", und wählen Sie sie aus. Wählen Sie die Pipeline unter der Spalte " Pipelinename " aus, um die Aktivitätsläufe anzuzeigen. Diese Pipeline wird als in Bearbeitung angezeigt.

Nachdem Sie sich in der Ansicht " Aktivitätsläufe " befinden, wechseln Sie zum Abschnitt " Aktivitätsläufe ", der sich unten auf der Seite befindet.
Zeigen Sie auf den Namen der Aktivität , und wählen Sie die Option "Brille" aus. Dadurch wird die Registerkarte " Details " angezeigt.

Suchen Sie auf dem Bildschirm " Details " nach dem Status der Pipelineaktivität, wie in der folgenden Abbildung hervorgehoben. In diesem Fall können Sie sehen, dass sich der Zustand " RequestingConsent" befindet.

An diesem Punkt wird die Aktivitätsausführung intern angehalten, bis jemand die Zustimmungsanforderung über die Microsoft 365 Admin Center oder über PowerShell manuell genehmigt.
Überwachen von Daten-Zustimmungsanforderungen mit Microsoft 365 Admin Center und PowerShell
Ein Microsoft 365-Administrator hat die Möglichkeit, Zustimmungsanforderungen zu genehmigen oder zu verweigern. Dies kann über das Microsoft 365 Admin Center oder programmgesteuert über PowerShell erfolgen.
Zustimmungsanforderungen genehmigen
Öffnen Sie einen Browser, und wechseln Sie zu Ihrem Microsoft 365 Admin Portal.
Um Zustimmungsanforderungen zu genehmigen oder zu verweigern, wechseln Sie zu Privileged Access.
Wählen Sie eine ausstehende Datenzugriffsanforderung aus.
Wählen Sie im Aufruf der Datenzugriffsanforderung die Schaltfläche " Genehmigen " aus.

Überprüfen der extrahierten Daten aus Microsoft 365 in Azure Storage Blob
Öffnen Sie einen Browser, und wechseln Sie zu Ihrem Azure-Portal.
Melden Sie sich mit einem Konto mit globaler Administrator Rechten für Ihre Azure- und Microsoft 365-Mandanten an.
Wählen Sie in der Randleistennavigation das Menüelement "Alle Ressourcen " aus.
Wählen Sie in der Liste der Ressourcen das Azure Storage-Konto aus, das Sie zuvor in diesem Lernprogramm erstellt haben.
Wählen Sie im Navigationsmenü der Randleiste blobs aus dem Azure Storage-Kontoblatt aus.
Wählen Sie den zuvor in diesem Lernprogramm erstellten Container aus, in dem Sie die Azure Data Factory Pipeline als Spüle für die extrahierten Daten konfiguriert haben. In diesem Container sollten jetzt Daten angezeigt werden.

Erstellen Der ASP.NET Webanwendung zum Verarbeiten der exportierten Daten
In diesem Abschnitt erstellen wir Ihre erste ASP.NET Projektanwendung zum Verarbeiten der exportierten Microsoft Graph Data Connect-Daten.
Erstellen eines neuen ASP.NET Projekts
Öffnen Sie Visual Studio, und wählen Sie "Datei > Neues > Projekt" aus.
Führen Sie im Dialogfeld "Neues Projekt " die folgenden Schritte aus.
Suchen Sie ASP.NET Webanwendung im Suchfeld, und wählen Sie die Option ASP.NET Webanwendung (.NET Framework) aus.
Klicken Sie auf "Weiter".

Geben Sie "EmailMetrics " für den Namen des Projekts ein.
Wählen Sie .NET Framework 4.7.2 für die Frameworkoption aus.
Wählen Sie Erstellen aus.
Wichtig
Stellen Sie sicher, dass Sie genau denselben Namen für das Visual Studio-Projekt eingeben, der in diesen Schnellstartanweisungen angegeben ist. Der Visual Studio-Projektname wird Teil des Namespace im Code. Der Code in diesen Anweisungen hängt vom Namespace ab, der mit dem in diesen Anweisungen angegebenen Visual Studio-Projektnamen übereinstimmt. Wenn Sie einen anderen Projektnamen verwenden, wird der Code nicht kompiliert, es sei denn, Sie passen alle Namespaces so an, dass Sie dem von Ihnen beim Erstellen des Projekts eingegebenen Visual Studio-Projektnamen entsprechen.
- Wählen Sie im Dialogfeld "Neues ASP.NET Webanwendungsprojekt " die Option "MVC" aus.
- Wählen Sie Erstellen aus.

Hinzufügen und Konfigurieren Ihres Azure Storage als verbundenen Dienst
Klicken Sie im Toolfenster Projektmappen-Explorer mit der rechten Maustaste auf den Knoten "Verbundene Dienste", und wählen Sie "Verbundenen Dienst hinzufügen" aus.

Wählen Sie im Dialogfeld "Verbundene Dienste " das grüne + Zeichen aus, das sich in der oberen rechten Ecke des Dialogfelds befindet.
Wählen Sie im Dialogfeld "Abhängigkeit hinzufügen " Azure Storage und dann "Weiter" aus.

Wählen Sie im Azure Storage-Dialogfeld das Abonnement- und Speicherkonto aus, in das Sie die Daten in der vorherigen Übung exportiert haben, und wählen Sie "Weiter" aus.

Geben Sie der Azure Storage-Verbindung den Namen AzureStorageConnectionString an, und wählen Sie "Weiter" aus.
Wählen Sie Fertig stellen aus.

Erstellen einer neuen Modellklasse, die zum Speichern der E-Mail-Metriken verwendet wird
Klicken Sie im Projektmappen-Explorer Toolfenster mit der rechten Maustaste auf den Ordner "Modelle", und wählen Sie "> Klasse hinzufügen" aus.

Wählen Sie im Dialogfeld "Neues Element hinzufügen " die Option "Klasse" aus, legen Sie den Namen der Datei auf "EmailMetric.cs " fest, und wählen Sie "Hinzufügen" aus.
Fügen Sie der soeben erstellten Klasse "EmailMetric" den folgenden Code hinzu.
public string Email; public double RecipientsToEmail;
Erstellen eines neuen Controllers, der die Ergebnisse berechnet und anzeigt
Klicken Sie mit der rechten Maustaste auf den Ordner "Controller" , und wählen Sie "> Controller hinzufügen" aus.
Wählen Sie im Dialogfeld " Gerüst hinzufügen " die Option "MVC 5 Controller - Leer " und dann "Hinzufügen" aus.
Wenn Sie dazu aufgefordert werden, benennen Sie den Controller "EmailMetricsController ", und wählen Sie "OK" aus.
Fügen Sie die folgenden using-Anweisungen nach den vorhandenen using-Anweisungen am Anfang der Datei hinzu, die die EmailMetricsController-Klasse enthält.
using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Threading.Tasks; using System.Web.Mvc; using Azure.Storage.Blobs; using Azure.Storage.Blobs.Models; using Newtonsoft.Json.Linq;Fügen Sie der EmailMetricsController-Klasse den folgenden Code hinzu. Diese werden verwendet, um eine Verbindung mit dem Azure Storage-Konto herzustellen, das die exportierten Daten enthält.
private const string connectionStringName = "AzureStorageConnectionString"; private const string emailBlobName = "m365mails";Fügen Sie der EmailMetricsController-Klasse die folgende Methode hinzu. Dadurch wird ein Azure-Blob verarbeitet und eine Sammlung aktualisiert, die die E-Mail-Konten und die Anzahl der Empfänger darstellt, die in allen E-Mails für die extrahierten Konten gefunden wurden.
private async Task ProcessBlobEmails(List<Models.EmailMetric> emailMetrics, BlobClient emailBlob) { using (var stream = new MemoryStream()) { var response = await emailBlob.DownloadToAsync(stream); var pos = stream.Seek(0, SeekOrigin.Begin); using (var reader = new StreamReader(stream)) { string line; while ((line = reader.ReadLine()) != null) { var jsonObj = JObject.Parse(line); // extract sender var sender = jsonObj.SelectToken("Sender.EmailAddress.Address")?.ToString(); // No sender - skip this one if (string.IsNullOrEmpty(sender)) continue; // extract and count up recipients var totalRecipients = 0; totalRecipients += jsonObj.SelectToken("ToRecipients")?.Children().Count() ?? 0; totalRecipients += jsonObj.SelectToken("CcRecipients")?.Children().Count() ?? 0; totalRecipients += jsonObj.SelectToken("BccRecipients")?.Children().Count() ?? 0; var emailMetric = new Models.EmailMetric(); emailMetric.Email = sender; emailMetric.RecipientsToEmail = totalRecipients; // if already have this sender... var existingMetric = emailMetrics.FirstOrDefault(metric => metric.Email == emailMetric.Email); if (existingMetric != null) { existingMetric.RecipientsToEmail += emailMetric.RecipientsToEmail; } else { emailMetrics.Add(emailMetric); } } } } }Fügen Sie der EmailMetricsController-Klasse die folgende Methode hinzu. Dadurch werden alle Blobs im angegebenen Container des angegebenen Azure Storage-Kontos aufgezählt und an
ProcessBlobEmails()die im letzten Schritt hinzugefügte Methode gesendet.private async Task<List<Models.EmailMetric>> ProcessBlobFiles() { var emailMetrics = new List<Models.EmailMetric>(); var connectionString = ConfigurationManager.ConnectionStrings[connectionStringName]; // Connect to the storage account var containerClient = new BlobContainerClient(connectionString.ConnectionString, emailBlobName); foreach (var blob in containerClient.GetBlobs()) { if (blob.Properties.BlobType == BlobType.Block && // Don't process blobs in the metadata folder !blob.Name.StartsWith("metadata/")) { var blobClient = containerClient.GetBlobClient(blob.Name); await ProcessBlobEmails(emailMetrics, blobClient); } } return emailMetrics; }Fügen Sie dem EmailMetricsController die folgende Aktion hinzu, die die Methoden verwendet, die dieser Klasse hinzugefügt wurden, um die E-Mails zu verarbeiten und die Ergebnisse an die Ansicht zu senden.
[HttpPost, ActionName("ShowMetrics")] [ValidateAntiForgeryToken] public async Task<ActionResult> ShowMetrics() { var emailMetrics = await ProcessBlobFiles(); return View(emailMetrics); }
Erstellen einer neuen Ansicht für die Indexaktion "EmailMetrics"
Klicken Sie im Toolfenster Projektmappen-Explorer mit der rechten Maustaste auf den Ordner "Ansichten" > "EmailMetrics", und wählen Sie "> Ansicht hinzufügen" aus.
Wählen Sie im Dialogfeld "Neues Gerüstelement hinzufügen" die Option "MVC 5-Ansicht" und dann "Hinzufügen" aus.
Legen Sie im Dialogfeld "Ansicht hinzufügen " den Namen der Ansicht auf "Index" fest, belassen Sie die verbleibenden Eingabesteuerelemente auf ihre Standardwerte, und wählen Sie "Hinzufügen" aus.

Aktualisieren Sie das Markup in den neuen Ansichten > EmailMetrics > Index.cshtml wie folgt. Dadurch wird ein Formular mit einer einzelnen Schaltfläche hinzugefügt, die eine HTTP POST-Anforderung an die im letzten Schritt hinzugefügte benutzerdefinierte Controlleraktion sendet.
@{ ViewBag.Title = "Index"; } <h2>Email Metrics</h2>Diese Anwendung betrachtet die E-Mail-Daten für E-Mails, die in das Azure Blob Storage-Konto extrahiert wurden, und zeigt die Gesamtzahl der Empfänger von jedem Absender an.
@using (Html.BeginForm("ShowMetrics", "EmailMetrics", FormMethod.Post)) { @Html.AntiForgeryToken() <div> <button type="submit">View email metrics</button> </div> <div> <em>Please be patient as this can take a few moments to calculate depending on the size of the exported data...</em> </div> }
Erstellen einer neuen Ansicht für die Aktion "EmailMetrics ShowMetrics"
Klicken Sie im Toolfenster Projektmappen-Explorer mit der rechten Maustaste auf den Ordner "Ansichten" > "EmailMetrics", und wählen Sie "> Ansicht hinzufügen" aus.
Legen Sie im Dialogfeld "Ansicht hinzufügen " die folgenden Werte fest, belassen Sie die verbleibenden Eingabesteuerelemente auf ihre Standardwerte, und wählen Sie "Hinzufügen" aus.
Ansichtsname: ShowMetrics
Vorlage: Liste
Modellklasse: EmailMetric (EmailMetric.Models)

Tipp
Falls das Modell "EmailMetric " im Dropdownfeld nicht angezeigt wird, erstellen Sie die Lösung.
Aktualisieren Sie das Markup in den neuen Views > EmailMetrics > ShowMetrics.cshtml wie folgt. Dadurch werden die Ergebnisse der Berechnungen angezeigt.
@model IEnumerable<EmailMetrics.Models.EmailMetric> @{ ViewBag.Title = "ShowMetrics"; } <h2>Email Metrics</h2> <table class="table"> <tr> <th>Sender</th> <th>Number of Recipients</th> </tr> @foreach (var item in Model) { <tr> <td>@Html.DisplayFor(modelItem => item.Email)</td> <td>@Html.DisplayFor(modelItem => item.RecipientsToEmail)</td> </tr> } </table>
Aktualisieren sie die Navigation so, dass sie zum neuen Controller gelangen kann.
Suchen und öffnen Sie im Toolfenster Projektmappen-Explorer die Dateiansichten > Freigegebene > Layout.cshtml.
Ersetzen Sie den Inhalt durch den folgenden Code.
<!-- new code --> <li>@Html.ActionLink("Email Metrics", "Index", "EmailMetrics")</li>
Testen der Anwendung
Wählen Sie in Visual Studio "Debuggen" > "Debuggen starten" aus.
Wenn die Anwendung erstellt und in einem neuen Browserfenster geladen wird, wählen Sie das Element Email Metriken in der oberen Navigationsleiste aus.
Wählen Sie auf der Seite Email Metriken die Schaltfläche "E-Mail-Metriken anzeigen" aus.

Wenn die Seite geladen wird, sehen Sie eine Liste der E-Mail-Adressen, die unter allen E-Mails gefunden wurden, mit einer Summe aller Empfänger, die zwischen ihnen gesendet wurden, wie aus einem kleinen Beispielsatz in einem Test-E-Mail-Extrakt in der folgenden Abbildung gezeigt.

Glückwunsch!
Sie haben das Microsoft Graph Data Connect-Lernprogramm abgeschlossen. Jetzt haben Sie einen Ausgangspunkt, um mit Data Connect weiter zu experimentieren. Sie können beginnen, indem Sie unsere Dokumentation auschecken.
Liegt ein Problem mit diesem Abschnitt vor? Wenn ja, senden Sie uns Feedback, damit wir den Abschnitt verbessern können.
Feedback
Feedback senden und anzeigen für

