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
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.
Descrição do diagrama:
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.
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.
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
TriggerTimecom um valor fixo. Para acionar dinamicamente todas as instâncias, configureTriggerTimecomo 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
TriggerSchedulerTaskInstanceseja 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.
NotaO 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. |
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
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.
Uma vez implantada, a tarefa é executada periodicamente conforme suas definições de agendamento. Visualize as tarefas agendadas implantadas acessando 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.
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.
-
Faça login no console do DataWorks. Na região desejada, clique em no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to Operation Center.
No painel de navegação à esquerda, clique em para acessar a página Cycle Examples.
-
Na lista, localize a instância do nó de gatilho HTTP criada e anote o Task ID e o Scheduled Time dessa instância.
NotaPasse o mouse sobre o nome da instância do nó de gatilho HTTP para visualizar o Task ID correspondente.
Método 1: Java
Método 2: Python
Método 3: Ferramenta de depuração de API
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.