Accéder au contenu principal Passer au contenu complémentaire

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

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.

Note InformationsRemarque : 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"
}

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !