Todos os produtos
Search
Central de documentação

DataWorks:Nó de gatilho HTTP

Última atualização: Jun 27, 2026

O DataWorks oferece um nó de gatilho HTTP que permite acionar esse nó e seus nós downstream em um fluxo de trabalho a partir de um ambiente externo, como um sistema local ou um ambiente entre tenants, mediante chamada a uma operação OpenAPI. Esse recurso possibilita acionar tarefas do sistema local ou gerenciar dependências de tarefas entre diferentes tenants.

Visão geral do produto

O nó de gatilho HTTP é um nó virtual especial que permite usar a operação OpenAPI do DataWorks TriggerSchedulerTaskInstance para iniciar 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 Diagrama de uso.

Diagrama de uso

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

image

Descrição do diagrama:

  1. No Data Studio, crie um fluxo de trabalho contendo um nó de gatilho HTTP, configure as dependências de cada nó e implante o fluxo de trabalho 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. Use 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 fluxo de trabalho 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. Antes de ser acionada com sucesso pela API TriggerSchedulerTaskInstance, ela permanece no estado Waiting for Trigger. Os nós downstream ficam bloqueados até que a API TriggerSchedulerTaskInstance seja chamada com êxito para acionar 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 foram executados com sucesso, ou seja, suas instâncias estão em estado de conclusão bem-sucedida.

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

  • O grupo de recursos de agendamento usado pelo nó de gatilho HTTP possui recursos suficientes no momento do acionamento.

  • O nó de gatilho HTTP não está em estado congelado.

  • Apenas instâncias de nós 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: Use um script externo (como Python) para ler datas ou informações de condição em arquivos Excel ou CSV. Quando as condições de acionamento forem satisfeitas, chame a operação OpenAPI do DataWorks TriggerSchedulerTaskInstance para disparar o nó de gatilho HTTP e implementar um agendamento automatizado baseado em dados externos.

  • Dependência de tarefas entre tenants: Caso existam dependências de tarefas entre instâncias do DataWorks de tenants diferentes, use o nó de gatilho HTTP para acionar tarefas entre esses tenants. Para mais detalhes, consulte Usar o nó de gatilho HTTP para acionar a execução de nós entre tenants.

Se você usar 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. 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 é retido por apenas 24 horas. Se os nós upstream não concluírem a execução dentro desse período, o comando de acionamento será perdido e o comando de 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

  • O usuário RAM que você deseja usar deve estar adicionado ao seu workspace.

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

  • Um grupo de recursos serverless deve estar associado ao seu workspace. Para mais detalhes, consulte os tópicos no diretório Usar grupos de recursos serverless.

  • Antes de desenvolver um nó de gatilho HTTP, crie o nó correspondente. Para mais informações, consulte Criar um nó de gatilho HTTP.

Limitações

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

  • 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 você 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 Criar um nó de gatilho HTTP.

Configurar o nó de gatilho HTTP

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

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ó de carga zero. Não é necessário escrever nenhum conteúdo para o nó.

  • Caso o nó de gatilho HTTP não possua um nó upstream, o nó raiz do fluxo de trabalho 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 Implantar nós.

  2. Depois que uma tarefa é implantada, ela é executada periodicamente conforme suas configurações de agendamento. Visualize as tarefas agendadas implantadas em 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 Gerenciar tarefas agendadas.

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 usando um dos métodos abaixo e chame a operação TriggerSchedulerTaskInstance para acionar o nó de gatilho HTTP.

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

Com base no método de geração de instâncias selecionado quando você configurou o nó de gatilho HTTP, 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 de destino, 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 registre o Task ID e o Scheduled Time da instância.

    Nota

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

Método 1: Java

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

    Use 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 anterior pelos valores reais exigidos pelo seu negócio, seguindo as descrições de parâmetros abaixo.

    Parâmetro

    Descrição

    nodeId

    O Task ID do nó de gatilho HTTP obtido na etapa Obter parâmetros da instância do nó de gatilho HTTP.

    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 Obter parâmetros da instância do nó de gatilho HTTP. O formato de hora é yyyy-MM-dd HH:mm:ss.

    endpoint

    O endpoint do workspace onde o nó de gatilho HTTP de destino está localizado. 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 o nó de gatilho HTTP de destino pertence.

    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 em 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 obter dinamicamente as informações de AccessKey lendo variáveis de ambiente no seu código, evitando riscos de segurança causados pelo armazenamento em texto simples. Para mais informações, consulte Configurar variáveis de ambiente.

    ALIBABA_CLOUD_ACCESS_KEY_SECRET

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

Método 2: Python

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

    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 seguintes parâmetros 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 Obter parâmetros da instância do nó de gatilho HTTP.

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 Obter parâmetros da instância do nó de gatilho HTTP. O horário deve ser convertido para um carimbo de data/hora 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 Usar o nó de gatilho HTTP para acionar a execução de nós entre tenants.