Todos os produtos
Search
Central de documentação

DataWorks:Nó de gatilho HTTP

Última atualização: Aug 20, 2026

O DataWorks oferece um nó de gatilho HTTP que permite acionar esse nó e seus nós downstream em um workflow a partir de um ambiente externo, como um sistema local ou um ambiente entre tenants, mediante chamada a uma operação OpenAPI. Assim, é possível disparar tarefas do sistema local ou gerenciar dependências de tarefas entre diferentes tenants.

Visão geral do product

O nó de gatilho HTTP é um nó virtual especial que permite usar a operação OpenAPI TriggerSchedulerTaskInstance do DataWorks para acionar o agendamento deste nó e de seus nós downstream.

Mecanismo de acionamento

image

Um nó de gatilho HTTP aciona seus nós downstream somente após a execução bem-sucedida dos nós upstream e o envio de um comando de agendamento por um sistema externo. Para visualizar um diagrama que ilustra o uso do nó de gatilho HTTP, consulte Usage diagram.

Diagrama de uso

O nó de gatilho HTTP é frequentemente utilizado para comunicação entre ambientes externos e o sistema de agendamento do DataWorks.

image

Descrição do diagrama:

  1. No Data Studio, crie um workflow contendo um nó de gatilho HTTP, configure as dependências de cada nó e implante o workflow no Operation Center.

  2. O sistema gera automaticamente instâncias agendadas com base no horário de agendamento. Nessas instâncias, obtenha informações sobre o nó de gatilho HTTP, como o ID da tarefa e o horário de acionamento.

  3. Utilize essas informações em código Java ou Python, ou na página de depuração de API, para chamar a operação OpenAPI e acionar o nó. Para acionar uma instância específica e seu workflow subsequente, defina o parâmetro TriggerTime com um valor fixo. Para acionar dinamicamente todas as instâncias, configure TriggerTime como uma variável dinâmica. Após receber e validar o comando de acionamento, o nó de gatilho HTTP executa os nós downstream em sequência.

Condições de acionamento

O acionamento de um nó de gatilho HTTP ocorre apenas quando as seguintes condições são atendidas:

  • Deve existir uma instância agendada do nó de gatilho HTTP. Encontre essa instância na página Cycle Examples do Operation Center. Até que a API TriggerSchedulerTaskInstance a acione com sucesso, ela permanece no estado Waiting for Trigger. Os nós downstream ficam bloqueados até que a API TriggerSchedulerTaskInstance seja chamada com êxito para disparar o nó de gatilho HTTP; nesse momento, os nós downstream são executados em sequência.

  • Todos os nós upstream dos quais o nó de gatilho HTTP depende devem ter sido executados com sucesso, ou seja, suas instâncias precisam estar em estado de conclusão bem-sucedida.

  • O horário agendado da instância do nó de gatilho HTTP deve ter sido atingido.

  • O grupo de recursos de agendamento utilizado pelo nó de gatilho HTTP precisa ter recursos suficientes no momento do acionamento.

  • O nó de gatilho HTTP não pode estar em estado congelado.

  • Somente instâncias de nó de gatilho HTTP no estado Waiting for Trigger podem ser acionadas. Instâncias já acionadas com sucesso não permitem novo acionamento.

Cenários comuns

  • Agendamento orientado por arquivos externos: Utilize um script externo (como Python) para ler datas ou condições de arquivos Excel ou CSV. Quando as condições de acionamento forem satisfeitas, chame a operação OpenAPI TriggerSchedulerTaskInstance do DataWorks para disparar o nó de gatilho HTTP e implementar o agendamento automatizado com base em dados externos.

  • Dependência de tarefas entre tenants: Caso existam dependências de tarefas entre instâncias do DataWorks de tenants diferentes, utilize o nó de gatilho HTTP para acionar tarefas entre esses tenants. Para mais detalhes, consulte Use the HTTP trigger node to trigger node execution across tenants.

Se você utilizar o DataWorks Professional Edition ou uma edição superior, também poderá usar o Check node para implementar verificações semelhantes de condições externas.

Observações

  • O nó de gatilho HTTP dispara seus nós downstream apenas depois que os nós upstream são executados com sucesso e o ambiente externo envia um comando de agendamento.

  • Caso o ambiente externo envie um comando de agendamento antes da conclusão dos nós upstream, o nó de gatilho HTTP não acionará os nós downstream imediatamente. O sistema retém o comando de agendamento do ambiente externo e dispara os nós downstream por meio do nó de gatilho HTTP assim que os nós upstream terminarem a execução.

    Nota

    O comando de acionamento proveniente do ambiente externo é mantido por apenas 24 horas. Se os nós upstream não concluírem a execução dentro desse período, o comando será perdido e o agendamento enviado pelo ambiente externo se tornará inválido.

  • Após o acionamento bem-sucedido da instância atual do nó de gatilho HTTP, não é possível acioná-la novamente.

Pré-requisitos

  • Adicione o usuário RAM que você pretende utilizar ao seu workspace.

    Para desenvolver tarefas com um usuário RAM, adicione-o como membro do workspace e atribua a função Develop ou Workspace Administrator. A função Workspace Administrator concede mais permissões do que o necessário; portanto, tenha cautela ao atribuí-la. Para saber mais sobre como adicionar membros e atribuir funções, consulte Add members to a workspace.

  • Associe um grupo de recursos serverless ao seu workspace. Para mais informações, consulte os tópicos no diretório Use serverless resource groups.

  • Antes de desenvolver um nó de gatilho HTTP, crie o nó correspondente. Para mais detalhes, consulte Create an HTTP trigger node.

Limitações

  • O recurso de nó de gatilho HTTP está disponível apenas no Dataworks Enterprise Edition e em edições superiores. Para mais informações sobre as edições do DataWorks, consulte DataWorks editions.

  • O nó de gatilho HTTP serve exclusivamente para acionar tarefas e não pode funcionar como uma tarefa de computação. Configure os nós de tarefa que deseja executar como nós downstream do nó de gatilho HTTP para que sejam acionados e executados corretamente.

Criar um nó de gatilho HTTP

Criar um nó de gatilho HTTP

Para obter informações sobre como criar um nó, consulte Create an HTTP trigger node.

Configurar o nó de gatilho HTTP

Após criar um nó de gatilho HTTP, configure os seguintes parâmetros em Scheduling Settings, localizado no lado direito da página de edição do nó. Para detalhes sobre outros parâmetros, consulte Schedule settings.

Parâmetro

Descrição

Resource Group for Scheduling

Selecione o grupo de recursos serverless associado.

Instance generation method

Escolha entre T +1 generated next day ou Instant generation after publishing.

Nota
  • O nó de gatilho HTTP é um nó sem carga de processamento. Não é necessário escrever nenhum conteúdo para ele.

  • Caso o nó de gatilho HTTP não possua nenhum nó upstream, o nó raiz do workflow será usado como nó upstream padrão.

Implantar o nó de gatilho HTTP

  1. Após concluir as configurações de agendamento, envie e implante o nó de gatilho HTTP no ambiente de produção. Para mais informações, consulte Deploy nodes.

  2. Uma vez implantada, a tarefa é executada periodicamente conforme suas definições de agendamento. Visualize as tarefas agendadas implantadas acessando Operation and Maintenance Center > Node O&M > Auto Triggered Task O&M > Auto Triggered Task e realize operações de O&M nas tarefas. Para mais detalhes, consulte Manage scheduled tasks.

Configuração de acionamento em ambientes de agendamento externos

Ao definir as configurações de acionamento em um ambiente de agendamento externo, configure os parâmetros da instância do nó de gatilho HTTP (obtidos anteriormente) utilizando um dos métodos abaixo e chame a operação TriggerSchedulerTaskInstance para disparar o nó de gatilho HTTP.

Obter parâmetros da instância do nó de gatilho HTTP

De acordo com o método de geração de instâncias selecionado durante a etapa configured the HTTP trigger node, visualize e registre os parâmetros da instância do nó de gatilho HTTP no Operation Center.

Nota
  • Geração T+1 no dia seguinte: Acesse o Operation Center no dia seguinte para visualizar e registrar os parâmetros da instância HTTP.

  • Geração instantânea após a implantação: Acesse o Operation Center imediatamente para visualizar e registrar os parâmetros da instância HTTP.

  1. Faça login no console do DataWorks. Na região desejada, clique em Data Development and O&M > Operation Center no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Operation Center.

  2. No painel de navegação à esquerda, clique em Auto Triggered Task O&M > Cycle Examples para acessar a página Cycle Examples.

  3. Na lista, localize a instância do nó de gatilho HTTP criada e anote o Task ID e o Scheduled Time dessa instância.

    Nota

    Passe o mouse sobre o nome da instância do nó de gatilho HTTP para visualizar o Task ID correspondente.

Método 1: Java

  1. Instale o SDK do Java. Para mais informações, consulte Install the Java SDK.

    Utilize a seguinte configuração POM para o SDK do DataWorks.

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>dataworks_public20240518</artifactId>
      <version>6.2.0</version>
    </dependency>
  2. Exemplo de código

    Acesse a página de depuração TriggerSchedulerTaskInstance e visualize o exemplo completo em Java na aba SDK Sample.

    package com.example.demo;
    import com.aliyun.dataworks_public20240518.Client;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceRequest;
    import com.aliyun.dataworks_public20240518.models.TriggerSchedulerTaskInstanceResponse;
    import com.aliyun.teaopenapi.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    public class CrossTenantTriggerSchedulerTaskTo {
        // Method to trigger a DataWorks node run
        public static TriggerSchedulerTaskInstanceResponse runTriggerScheduler(com.aliyun.dataworks_public20240518.Client client, Long nodeId, String EnvType, Long TriggerTime) throws Exception {
            TriggerSchedulerTaskInstanceRequest request = new TriggerSchedulerTaskInstanceRequest(); // Create API request object
            request.setTaskId(nodeId); // Set the node ID to trigger
            request.setEnvType(EnvType); // Set the project environment
            request.setTriggerTime(TriggerTime); // Set the scheduled trigger time (millisecond timestamp)
            RuntimeOptions runtime = new RuntimeOptions(); // Initialize runtime options
            return client.triggerSchedulerTaskInstanceWithOptions(request, runtime); // Execute the API call and return the response
        }
        public static void main(String[] args) throws Exception {
            // Initialize node ID (example value)
            String nodeId = "xxx";
            // Initialize project environment (example value)
            String EnvTypeStr = "xxx";
            // Initialize scheduled time (example value)
            String cycTimeStr = "xxx";
            // Set the endpoint
            String endpoint = "xxx";
            // Convert string to Long type node ID
            Long nodeId1 = Long.parseLong(nodeId);
            // Print usage instructions
            System.out.println("Usage: java -jar test-1.0-SNAPSHOT.jar nodeId EnvTypeStr cycTimeParam");
            // Parse the scheduled time and convert to timestamp
            SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(sdft.parse(cycTimeStr)); // Parse the time string
            Long cycTime = calendar.getTimeInMillis(); // Get the millisecond timestamp
            // Print debug info (timestamp)
            System.out.println("Scheduled timestamp: " + cycTime);
            // Initialize OpenAPI config object
            Config config = new Config();
            config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")); // Get AccessKey ID from environment variable
            config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));// Get AccessKey Secret from environment variable
            config.setEndpoint(endpoint);
            // Create Alibaba Cloud client instance
            Client client = new Client(config);
            // Execute the trigger node operation
            TriggerSchedulerTaskInstanceResponse response = runTriggerScheduler(client, nodeId1,EnvTypeStr, cycTime);
            // Print the API response (JSON format)
            System.out.println(com.aliyun.teautil.Common.toJSONString(com.aliyun.teautil.Common.toMap(response)));
        }
    }

    Substitua os parâmetros relevantes no código acima pelos valores reais exigidos pelo seu cenário, seguindo as descrições de parâmetros abaixo.

    Parâmetro

    Descrição

    nodeId

    O Task ID do nó de gatilho HTTP obtido na etapa Obtain HTTP trigger node instance parameters.

    EnvTypeStr

    O ambiente de projeto onde o nó de gatilho HTTP está localizado.

    Use Prod para o ambiente de produção.

    Use Dev para o ambiente de desenvolvimento.

    cycTimeStr

    O Scheduled Time da tarefa do nó de gatilho HTTP obtido na etapa Obtain HTTP trigger node instance parameters. O formato de tempo é yyyy-MM-dd HH:mm:ss.

    endpoint

    O endpoint do workspace onde reside o nó de gatilho HTTP alvo. Para mais informações, consulte endpoints do Portal do Desenvolvedor OpenAPI da Alibaba Cloud.

    ALIBABA_CLOUD_ACCESS_KEY_ID

    O AccessKey ID da conta Alibaba Cloud à qual pertence o nó de gatilho HTTP alvo.

    1. Obtenha as informações de AccessKey.

      Faça login no console do DataWorks, passe o mouse sobre o ícone de perfil no canto superior direito da barra de navegação superior e clique para acessar a página Accesskey Management e obter o AccessKey ID e o AccessKey Secret.

    2. Configure as variáveis de ambiente. Defina o AccessKey ID e o AccessKey Secret obtidos como variáveis de ambiente para o ambiente atual. É possível recuperar dinamicamente as informações de AccessKey lendo essas variáveis no código, evitando riscos de segurança causados pelo armazenamento em texto simples. Para mais detalhes, consulte Configure environment variables.

    ALIBABA_CLOUD_ACCESS_KEY_SECRET

    O AccessKey Secret da conta Alibaba Cloud à qual pertence o nó de gatilho HTTP alvo.

Método 2: Python

  1. Instale o SDK do Python. Para mais informações, consulte Install the Python SDK.

    Instale o SDK do DataWorks executando o seguinte comando.

    pip install alibabacloud_dataworks_public20240518==6.2.0
  2. Exemplo de código.

    Acesse a página de depuração TriggerSchedulerTaskInstance e visualize o exemplo completo em Python na aba SDK Sample.

    No lado esquerdo da página de depuração, configure os parâmetros de solicitação TaskId (inteiro), EnvType (string) e TriggerTime (inteiro). No lado direito, selecione Python como linguagem para visualizar o código de exemplo completo do SDK. Clique em Run Sample para depurar online.

Método 3: Ferramenta de depuração de API

Acesse a página de depuração TriggerSchedulerTaskInstance, configure os parâmetros a seguir nas seções correspondentes e clique em Submit para iniciar a chamada.

Parâmetro

Descrição

TaskId

O Task ID do nó de gatilho HTTP obtido na etapa Obtain HTTP trigger node instance parameters.

EnvType

O ambiente de projeto onde o nó de gatilho HTTP está localizado.

Use Prod para o ambiente de produção.

Use Dev para o ambiente de desenvolvimento.

TriggerTime

O Scheduled Time da tarefa do nó de gatilho HTTP obtido na etapa Obtain HTTP trigger node instance parameters. O horário deve ser convertido para um timestamp em milissegundos.

Referência

O DataWorks fornece o recurso de nó de gatilho HTTP para acionar e executar tarefas em cenários entre tenants. Para mais informações, consulte Use the HTTP trigger node to trigger node execution across tenants.