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
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.
Descrição do diagrama:
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.
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.
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
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. 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
TriggerSchedulerTaskInstanceseja 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.
NotaO 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. |
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
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.
Depois que uma tarefa é implantada, ela é executada periodicamente conforme suas configurações de agendamento. Visualize as tarefas agendadas implantadas em 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.
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 de destino, 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 registre o Task ID e o Scheduled Time da instância.
NotaPasse 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
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 Usar o nó de gatilho HTTP para acionar a execução de nós entre tenants.