Mettre à jour une tâche pour passer d'un déclencheur à plusieurs - Cloud

Guide d'utilisation des API Talend Cloud

Version
Cloud
Language
Français
Product
Talend Cloud
Module
Talend API Designer
Talend API Tester
Talend Data Preparation
Talend Data Stewardship
Talend Management Console
Content
Création et développement > Création d'APIs
Création et développement > Test d'API
Last publication date
2024-04-04

Mettez à jour vos tâches dupliquées ayant un seul déclencheur pour en faire des tâches uniques avec plusieurs déclencheurs.

Vous avez peut-être dupliqué une tâche pour chaque déclencheur à utiliser pour cette tâche. Vous n'avez plus besoin de ces doublons. Vous pouvez à présent définir directement ces déclencheurs pour un ordonnancement et appliquer cet ordonnancement à cette tâche.

Remarque : Lorsque vous modifiez l'ordonnancement d'une tâche avec un seul déclenchement dans l'interface, cette tâche est convertie en tâche à déclenchement multiple. Cela fait, vous devez utiliser l'endpoint GET /executables/tasks/{taskId}/schedule pour obtenir les détails de l'ordonnancement de la tâche.

Avant de commencer

  • Générez des jetons d'accès :

    Une fois généré, un jeton de compte de service expire après 30 minutes. S'il expire, générez un nouveau jeton à l'aide de la méthode POST sur l'endpoint https://api.<env>.cloud.talend.com/security/oauth/token. Pour plus d'informations concernant la génération de ce jeton, consultez Générer un jeton de compte de service.

  • Vous devez connaître l'ID de la tâche à laquelle associer l'ordonnancement.
    Dans Talend Management Console, cet ID est affiché sur la page dédiée de la tâche. Par exemple :
    ID de la tâche dans la page de la tâche.
    Vous pouvez également obtenir l'ID des tâches via la requête d'API suivante :
    method: GET
    endpoint: https://api.<env>.cloud.talend.com/processing/executables/tasks
    headers: {
              "Content-Type": "application/json",
              "Authorization": "Bearer <your_personal_or_service_account_access_token>"
              }
    query parameters: {
              "workspaceId": "id_of_the_workspace_of_the_task_to_be_updated"
                      }
  • L'utilisateur·trice ou le compte de service doit avoir le rôle TMC_OPERATOR et l'autorisation EXECUTOR pour l'espace de travail auquel appartient la tâche à mettre à jour.

Procédure

  1. Obtenez les déclencheurs existants sur les instances de tâches à mettre à niveau vers une tâche à déclencheurs multiples. Pour ce faire, émettez la requête d'API suivante pour chaque instance de la tâche.

    Exemple

    method: GET
    endpoint: https://api.<env>.cloud.talend.com/orchestration/executables/tasks/<taskId>/run-config
    headers: {
              "Content-Type": "application/json",
              "Authorization": "Bearer <your_personal_or_service_account_access_token>"
              }
    payload: N/A
    Dans la réponse, vous pouvez voir le déclencheur défini pour cette tâche, par exemple :
    "trigger": {
        "type": "ONCE",
        "interval": 1,
        "startDate": "2019-09-25",
        "timeZone": "Europe/London",
        "atTimes": {
          "type": "AT_TIME",
          "times": [
            "10:00"
          ],
          "time": "10:00",
          "startTime": "10:00",
          "endTime": "23:00",
          "interval": "10"
        },
        "atDays": {
          "type": "DAY_OF_WEEK",
          "day": 3,
          "days": [
            "MONDAY",
            "WEDNESDAY",
            "FRIDAY"
          ]
        }
    Notez que les déclencheurs WebHook ne sont pas supportés par les ordonnancements. Si une instance de tâche utilise un déclencheur WebHook, vous devez conserver cette configuration.
  2. Créez un ordonnancement et collez les objets entiers de ces déclencheurs, obtenus à l'étape précédente de l'ordonnancement.
  3. Ajoutez un champ name (nom) à chacun de ces déclencheurs.

    Exemple

    L'exemple ci-dessus peut à présent se présenter comme suit :
    "trigger": {
        "name": "My unique once trigger"
        "type": "ONCE",
        "interval": 1,
        "startDate": "2019-09-25",
        "timeZone": "Europe/London",
        "atTimes": {
          "type": "AT_TIME",
          "times": [
            "10:00"
          ],
          "time": "10:00",
          "startTime": "10:00",
          "endTime": "23:00",
          "interval": "10"
        },
        "atDays": {
          "type": "DAY_OF_WEEK",
          "day": 3,
          "days": [
            "MONDAY",
            "WEDNESDAY",
            "FRIDAY"
          ]
        }
  4. Simulez des événements à déclencher par cet ordonnancement et attribuez cet ordonnancement à votre tâche. Pour plus d'informations concernant cette procédure, consultez Utiliser un ordonnancement pour organiser les exécutions de vos tâches.

    Cette tâche peut être une nouvelle instance dupliquée des instances de tâches susmentionnées ou n'être qu'une des instances de tâches. Ce nouvel ordonnancement et ses déclencheurs remplacent les déclencheurs qui existent sur la tâche cible.

  5. Supprimez toutes les tâches en doublon, car elles ne sont plus utiles.

Résultats

Cela fait, votre tâche contient tous les déclencheurs temporels qui devaient être ajoutés pour chaque instance dupliquée de la tâche.

Vous pouvez émettre une requête GET vers https://api.<env>.cloud.talend.com/orchestration/executables/tasks/<taskId>/run-config afin de vérifier la réponse. Dans l'objet Trigger (Déclencheur), le champ type affiche à présent MULTIPLE.
{
  "trigger": {
    "type": "MULTIPLE"
  },
  "runtime": {
    "type": "CLOUD"
  },
  "parallelExecutionAllowed": false,
  "logLevel": "WARN"
}