Partager via


Bibliothèque cliente de flux de travail Azure Purview pour Java - version 1.0.0-beta.2

Les workflows sont des processus d’entreprise automatisés et reproductibles que les utilisateurs peuvent créer dans Microsoft Purview pour valider et orchestrer des opérations CUD (création, mise à jour, suppression) sur leurs entités de données. L’activation de ces processus permet aux organisations de suivre les modifications, d’appliquer la conformité à la stratégie et de garantir des données de qualité dans leur paysage de données.

Utilisez la bibliothèque cliente pour le flux de travail Purview pour :

  • Gérer les flux de travail
  • Envoyer des requêtes utilisateur et surveiller les exécutions de flux de travail
  • Afficher les tâches de flux de travail et y répondre

Pour plus d’informations sur l’utilisation du flux de travail, reportez-vous à la documentation du service

Prise en main

Prérequis

Authentification

Étant donné que le service Workflow utilise un jeton du porteur Azure Active Directory (AAD) pour l’authentification et l’identification, une adresse e-mail doit être encodée dans le jeton pour permettre la notification lors de l’utilisation du workflow. Il est recommandé d’utiliser la bibliothèque Azure Identity avec un Nom d’utilisateurPasswordCredential. Avant d’utiliser la bibliothèque d’identités Azure avec Workflow, une application doit être inscrite et utilisée pour le clientId passé à UsernamePasswordCredential.

Pour utiliser le fournisseur UsernamePasswordCredential ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le KIT de développement logiciel (SDK) Azure, incluez le azure-identity package :

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.10.4</version>
</dependency>

Définissez les valeurs de l’ID client et de l’ID de locataire de l’application AAD en tant que variables d’environnement : AZURE_CLIENT_ID, AZURE_TENANT_ID. Définissez la valeur du nom d’utilisateur et du mot de passe d’un utilisateur AAD en tant que variables d’environnement : USER_NAME, MOT DE PASSE.

WorkflowClient purviewWorkflowClient = new WorkflowClientBuilder()
    .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint"))
    .credential(new UsernamePasswordCredentialBuilder()
        .clientId(Configuration.getGlobalConfiguration().get("CLIENTID", "clientId"))
        .tenantId(Configuration.getGlobalConfiguration().get("TENANTID", "tenantId"))
        .username(Configuration.getGlobalConfiguration().get("USERNAME", "username"))
        .password(Configuration.getGlobalConfiguration().get("PASSWORD", "password"))
        .build())
    .buildClient();

Exemples

La section suivante fournit plusieurs extraits de code couvrant certains des scénarios les plus courants, notamment :

Créer un workflow

BinaryData workflowCreateOrUpdateCommand =
    BinaryData.fromString(
        "{\"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\"]}}}}}");
RequestOptions requestOptions = new RequestOptions();
Response<BinaryData> response =
    purviewWorkflowClient.createOrReplaceWithResponse(
        "4afb5752-e47f-43a1-8ba7-c696bf8d2745", workflowCreateOrUpdateCommand, requestOptions);

Envoyer des demandes utilisateur

BinaryData userRequestsPayload =
    BinaryData.fromString(
        "{\"comment\":\"Thanks!\",\"operations\":[{\"type\":\"CreateTerm\",\"payload\":{\"glossaryTerm\":{\"name\":\"term\",\"anchor\":{\"glossaryGuid\":\"20031e20-b4df-4a66-a61d-1b0716f3fa48\"},\"nickName\":\"term\",\"status\":\"Approved\"}}}]}");
RequestOptions requestOptions = new RequestOptions();
Response<BinaryData> response =
    userRequestsClient.submitWithResponse(userRequestsPayload, requestOptions);

Approuver la tâche de flux de travail

BinaryData approvalResponseComment = BinaryData.fromString("{\"comment\":\"Thanks for raising this!\"}");
RequestOptions requestOptions = new RequestOptions();
Response<Void> response =
    approvalClient.approveWithResponse(
        "69b57a00-f5de-4a17-a44a-6479adae373d", approvalResponseComment, requestOptions);

Concepts clés

Dépannage

Étapes suivantes

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions exiger que vous acceptiez un [Contrat de licence contributeur(CLA)][cla] déclarant que vous avez le droit de nous accorder les droits d’utiliser votre contribution et de le faire.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le [Code de conduite Open Source Microsoft][coc]. Pour plus d’informations, consultez la [FAQ sur le code de conduite][coc_faq] ou contactez [opencode@microsoft.com][coc_contact] pour toute question ou commentaire supplémentaire.

Impressions