Azure Purview Workflow-Clientbibliothek für .NET – Version 1.0.0-beta.1

Workflows sind automatisierte, wiederholbare Geschäftsprozesse, die Benutzer in Microsoft Purview erstellen können, um für ihre Datenentitäten CUD-Vorgänge (d. h. Erstellen, Aktualisieren, Löschen) zu überprüfen und zu orchestrieren. Damit sind Organisationen in der Lage, Änderungen nachzuverfolgen, Richtlinienkonformität zu erzwingen und Qualitätsdaten in der gesamten Datenlandschaft sicherzustellen.

Verwenden Sie die Clientbibliothek für Purview-Workflow für Folgendes:

  • Verwalten von Workflows
  • Übermitteln von Benutzeranforderungen und Überwachen von Workflowausführungen
  • Anzeigen und Reagieren auf Workflowaufgaben

Weitere Informationen zur Verwendung des Workflows finden Sie in der Dienstdokumentation.

Erste Schritte

Installieren des Pakets

dotnet add package Azure.Analytics.Purview.Workflows --prerelease

Voraussetzungen

Sie benötigen ein Azure-Abonnement und eine Purview-Ressource , um dieses Paket verwenden zu können.

Authentifizieren des Clients

Da der Workflowdienst ein Azure Active Directory-Bearertoken (AAD) für die Authentifizierung und Identifizierung verwendet, sollte eine E-Mail-Adresse in das Token codiert werden, um eine Benachrichtigung zu ermöglichen, wenn Workflow verwendet wird. Es wird empfohlen, die Azure Identity-Bibliothek mit dem UsernamePasswordCredential-Element zu verwenden. Bevor Sie die Azure Identity-Bibliothek mit Workflow verwenden, sollte eine Anwendung registriert und für die clientId verwendet werden, die an usernamePasswordCredential übergeben wird.

Uri endpoint = new Uri(Environment.GetEnvironmentVariable("WORKFLOW_ENDPOINT"));
string clientId = Environment.GetEnvironmentVariable("ClientId");
string tenantId = Environment.GetEnvironmentVariable("TenantId");
string username = Environment.GetEnvironmentVariable("Username");
string password = Environment.GetEnvironmentVariable("Password");

TokenCredential usernamePasswordCredential = new UsernamePasswordCredential(clientId,tenantId, username,password, null);
var client = new PurviewWorkflowServiceClient(endpoint, usernamePasswordCredential);

Beispiele

Der folgende Abschnitt enthält mehrere Codeausschnitte, die einige der häufigsten Szenarien abdecken, einschließlich:

Erstellen des Workflows

Guid workflowId = Guid.NewGuid();

string workflow = "{\"name\":\"Create glossary term workflow\",\"description\":\"\",\"triggers\":[{\"type\":\"when_term_creation_is_requested\",\"underGlossaryHierarchy\":\"/glossaries/20031e20-b4df-4a66-a61d-1b0716f3fa48\"}],\"isEnabled\":true,\"actionDag\":{\"actions\":{\"Startandwaitforanapproval\":{\"type\":\"Approval\",\"inputs\":{\"parameters\":{\"approvalType\":\"PendingOnAll\",\"title\":\"ApprovalRequestforCreateGlossaryTerm\",\"assignedTo\":[\"eece94d9-0619-4669-bb8a-d6ecec5220bc\"]}},\"runAfter\":{}},\"Condition\":{\"type\":\"If\",\"expression\":{\"and\":[{\"equals\":[\"@outputs('Startandwaitforanapproval')['body/outcome']\",\"Approved\"]}]},\"actions\":{\"Createglossaryterm\":{\"type\":\"CreateTerm\",\"runAfter\":{}},\"Sendemailnotification\":{\"type\":\"EmailNotification\",\"inputs\":{\"parameters\":{\"emailSubject\":\"GlossaryTermCreate-APPROVED\",\"emailMessage\":\"YourrequestforGlossaryTerm@{triggerBody()['request']['term']['name']}isapproved.\",\"emailRecipients\":[\"@{triggerBody()['request']['requestor']}\"]}},\"runAfter\":{\"Createglossaryterm\":[\"Succeeded\"]}}},\"else\":{\"actions\":{\"Sendrejectemailnotification\":{\"type\":\"EmailNotification\",\"inputs\":{\"parameters\":{\"emailSubject\":\"GlossaryTermCreate-REJECTED\",\"emailMessage\":\"YourrequestforGlossaryTerm@{triggerBody()['request']['term']['name']}isrejected.\",\"emailRecipients\":[\"@{triggerBody()['request']['requestor']}\"]}},\"runAfter\":{}}}},\"runAfter\":{\"Startandwaitforanapproval\":[\"Succeeded\"]}}}}}";

Response createResult = await client.CreateOrReplaceWorkflowAsync(workflowId, RequestContent.Create(workflow));

Übermitteln von Benutzeranforderungen

string request = "{\"operations\":[{\"type\":\"CreateTerm\",\"payload\":{\"glossaryTerm\":{\"name\":\"term\",\"anchor\":{\"glossaryGuid\":\"20031e20-b4df-4a66-a61d-1b0716f3fa48\"},\"status\":\"Approved\",\"nickName\":\"term\"}}}],\"comment\":\"Thanks!\"}";

Response submitResult = await client.SubmitUserRequestsAsync(RequestContent.Create(request));

Workflowaufgabe genehmigen

// This taskId represents an existing workflow task. The id can be obtained by calling GetWorkflowTasksAsync API.
Guid taskId = new Guid("b129fe16-72d3-4994-9135-b997b9be46e0");

string request = "{\"comment\":\"Thanks!\"}";

Response approveResult = await client.ApproveApprovalTaskAsync(taskId, RequestContent.Create(request));

Wichtige Begriffe

Problembehandlung

Nächste Schritte

Dieses Client-SDK macht Vorgänge mithilfe von Protokollmethoden verfügbar. Weitere Informationen zur Verwendung von SDK-Clients, die Protokollmethoden verwenden, finden Sie in unserer Dokumentation.

Mitwirken

Weitere Informationen zum Erstellen, Testen und Mitwirken zu dieser Bibliothek finden Sie im CONTRIBUTING.md .

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.

Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.