Os triggers do DataWorks permitem o agendamento orientado a eventos ao monitorar eventos externos — como novos uploads de arquivos no OSS ou mensagens do Kafka — e iniciar workflows associados sob demanda. Isso elimina o desperdício de recursos e os atrasos causados por consultas periódicas. Este tópico descreve como criar, configurar e gerenciar triggers.
Como funciona
Um trigger do DataWorks monitora eventos predefinidos. Quando um evento especificado ocorre, o trigger inicia o workflow orientado a eventos associado e transmite as informações do evento como parâmetros.
-
Múltiplas origens de eventos: Os triggers monitoram eventos de diferentes fontes.
Eventos de armazenamento externo: Monitoram a criação de novos objetos em um bucket do OSS.
Eventos de mensagens externas: Monitoram novas mensagens em filas de mensagens, como Kafka e RocketMQ.
-
Passagem dinâmica de parâmetros: Ao detectar um evento, o trigger captura o contexto e o repassa ao workflow downstream como parâmetros.
Para eventos do OSS: detalhes do arquivo.
Para eventos de fila de mensagens: o conteúdo completo da mensagem, incluindo chave, valor e cabeçalhos.
Os nós do workflow podem usar esses parâmetros para processar dados com base no evento.
-
Tipos compatíveis:
Filas de mensagens: Kafka, RocketMQ e RabbitMQ.
Objetos de armazenamento: OSS.
Observações de uso
Regiões: Disponível apenas em China (Hangzhou), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Hong Kong) e Singapura.
Edições: Disponível apenas no DataWorks Professional Edition ou superior. Para fazer upgrade, consulte fazer upgrade do DataWorks para Professional Edition ou edição superior.
Faturamento
Quando um workflow orientado a eventos é executado com um trigger configurado, são geradas taxas do EventBridge além das taxas de execução de tarefa agendada. Consulte Faturamento de fluxos de eventos. A cobrança é baseada no número de eventos.
Pré-requisitos
Ative o EventBridge e conceda permissões e ative o Message Service.
Uma source de eventos na mesma região do seu workspace, como uma instância do OSS ou uma fila de mensagens em nuvem (Kafka, RocketMQ ou RabbitMQ), com as permissões de acesso necessárias.
Um usuário adicionado ao workspace com a função de Developer, Operator, or Workspace Administrator. Consulte Gerenciar membros e funções.
Acessar a página de gerenciamento de triggers
-
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 do Operation Center, escolha e clique na aba Trigger Management.
Criar um trigger
Se você tiver a função de desenvolvedor, operador ou administrador do workspace, poderá criar um trigger na aba Trigger Management.
-
Clique em Create Trigger para acessar a página de configuração Create Trigger.
NotaO acionamento de eventos do DataWorks depende do EventBridge. Se for a primeira vez que você utiliza esse recurso ou se a função vinculada ao serviço necessária estiver ausente, clique em Authorize para conceder acesso.
Permissões necessárias:
ram:CreateServiceLinkedRoleearms:CheckServiceStatus. Consulte a Lista de permissões.
-
Configure os seguintes parâmetros.
Trigger do Kafka
Parâmetro
Descrição
Applicable Workspace
Selecione o workspace. Apenas workspaces com o novo Data Studio são compatíveis.
Applicable Environment
Os triggers aplicam-se apenas ao ambiente de produção. No ambiente de desenvolvimento, especifique os parâmetros manualmente.
Owner
Selecione o proprietário do trigger.
Trigger Type
Selecione ApsaraMQ for Kafka.
Trigger Event
O tipo de evento
alikafka:Topic:Messageé compatível — o trigger é ativado quando mensagens do Kafka chegam. Para saber como enviar mensagens, consulte Enviar e receber mensagens do Kafka.Kafka Instance
Selecione uma instância do Kafka na mesma região do workspace. Se não houver nenhuma, Adquira uma instância do Kafka.
Topic
Selecione o tópico a ser monitorado. Se não houver nenhum, Crie um tópico.
Key
Opcional. Especifique um valor de chave predefinido. O trigger será ativado somente quando a chave da mensagem corresponder exatamente. Se deixado em branco, qualquer mensagem consumida acionará o workflow.
ConsumerGroupId
Selecione Quick Create ou Use Existing. A opção Quick Create gera automaticamente um ID de grupo.
Message Format Example
Um exemplo fixo de mensagem do Kafka. Você pode utilizá-lo no workflow acionado.
Utilize ${workflow.triggerMessage} nas tarefas internas para obter o corpo completo da mensagem ou ${workflow.triggerMessage.xxx} para obter o valor de um campo específico no corpo da mensagem.
Trigger do RocketMQ
Parâmetro
Descrição
Applicable Workspace
Selecione o workspace. Apenas workspaces com o novo Data Studio são compatíveis.
Applicable Environment
Os triggers aplicam-se apenas ao ambiente de produção. No ambiente de desenvolvimento, especifique os parâmetros manualmente.
Owner
Selecione o proprietário do trigger.
Trigger Type
Selecione ApsaraMQ for RocketMQ.
NotaVersões anteriores à 5.x não são compatíveis. A versão 5.x é usada por padrão.
Trigger Event
O tipo de evento
mq:Topic:SendMessageé compatível — o trigger é ativado quando mensagens do RocketMQ são consumidas.ApsaraMQ for RocketMQ Instance
Selecione uma instância do RocketMQ na mesma região do workspace. Se não houver nenhuma, consulte Gerenciar instâncias do RocketMQ.
Topic
Selecione o tópico a ser monitorado. Se não houver nenhum, consulte Criar um tópico.
Tag
Opcional. Especifique um valor de tag predefinido. O trigger será ativado somente quando a tag da mensagem corresponder exatamente. Se deixado em branco, qualquer mensagem consumida acionará o workflow.
Security Group
Se a instância do RocketMQ utilizar faturamento por assinatura, selecione um grupo de segurança.
Consumer Group
Selecione Quick Create ou Use Existing. A opção Quick Create gera automaticamente um ID de grupo.
Message Format Example
Um exemplo fixo de mensagem do RocketMQ. Você pode utilizá-lo no workflow acionado.
Utilize ${workflow.triggerMessage} nas tarefas internas para obter o corpo completo da mensagem ou ${workflow.triggerMessage.xxx} para obter o valor de um campo específico no corpo da mensagem.
Trigger do RabbitMQ
Parâmetro
Descrição
Applicable Workspace
Selecione o workspace. Apenas workspaces com o novo Data Studio são compatíveis.
Applicable Environment
Os triggers aplicam-se apenas ao ambiente de produção. No ambiente de desenvolvimento, especifique os parâmetros manualmente.
Owner
Selecione o proprietário do trigger.
Trigger Type
Selecione ApsaraMQ for RabbitMQ.
Trigger Event
O tipo de evento
amqp:Queue:SendMessageé compatível — o trigger é ativado quando mensagens do RabbitMQ são consumidas.ApsaraMQ for RabbitMQ Instance
Selecione uma instância do RabbitMQ na mesma região do workspace. Se não houver nenhuma, Crie uma instância do RabbitMQ.
Vhost
O host virtual do RabbitMQ, usado para isolamento lógico de filas. Se não houver nenhum, Crie um vhost.
Queue
Selecione a fila a ser monitorada. Se não houver nenhuma, Crie uma fila.
Message Format Example
Um exemplo de corpo de mensagem do RabbitMQ. Você pode utilizá-lo no workflow acionado.
Utilize ${workflow.triggerMessage} nas tarefas internas para obter o corpo completo da mensagem ou ${workflow.triggerMessage.xxx} para obter o valor de um campo específico no corpo da mensagem.
Trigger do OSS
Parâmetro
Descrição
Applicable Workspace
Selecione o workspace. Apenas workspaces com o novo Data Studio são compatíveis.
Applicable Environment
Os triggers aplicam-se apenas ao ambiente de produção. No ambiente de desenvolvimento, especifique os parâmetros manualmente.
Owner
Selecione o proprietário do trigger.
Trigger Type
OSS.
Trigger Event
Três tipos de eventos são compatíveis:
-
oss:ObjectCreated:PutObject: Fazer upload de um arquivo.
-
oss:ObjectCreated:PostObject: Fazer upload de um arquivo usando um formulário HTML.
-
oss:ObjectCreated:CompleteMultipartUpload: Concluir um upload multipart.
Bucket Name
Selecione o bucket do OSS a ser usado como source do evento. Se não houver nenhum, crie um bucket do OSS.
File Name
Especifique o padrão de nome de arquivo que aciona o evento. A correspondência com curinga é compatível:
-
Correspondência por prefixo:
-
Exemplo:
task*. -
Descrição: Um evento é acionado quando você faz upload de um arquivo com o prefixo
taskno OSS, como task10.txt.
-
-
Correspondência por sufixo:
-
Exemplo:
*task.txt. -
Descrição: Um evento é acionado quando você faz upload de um arquivo com o sufixo
task.txtno OSS, como work_task.txt.
-
-
Correspondência flexível:
-
Exemplo:
task. -
Descrição: Um evento é acionado quando você faz upload de um arquivo que contém a string
taskno OSS, como work_task.txt.
-
-
-
Clique em Confirm para concluir a criação do trigger.
Usar um trigger
Um trigger deve ser usado com um workflow orientado a eventos. Somente um workflow orientado a eventos enviado ao Operation Center pode ser acionado.
Depois que o workflow orientado a eventos for enviado ao Operation Center, as tarefas no workflow serão acionadas automaticamente quando o evento monitorado ocorrer.
Configure as definições de agendamento e especifique o trigger criado em Scheduling Policy.
-
Os nós dentro de um workflow orientado a eventos são configurados da mesma forma que os nós em um workflow regular.
A principal diferença é o mecanismo de execução: em vez de executar em um cronograma fixo, o workflow é impulsionado por um trigger que responde a eventos externos.
Gerenciar triggers
Na aba Trigger Management, localize o trigger desejado para visualizar tarefas referenciadas, editar o trigger ou visualizar e reverter versões.
View Nodes That Reference Calendar: Quando o trigger é referenciado por um workflow orientado a eventos, clique em View Nodes That Reference Calendar na coluna Actions para ver quais workflows referenciam o trigger na página View Nodes That Reference Calendar.
-
Edit um trigger: Clique em Edit na coluna Actions. Edite as informações do trigger na página Modify Trigger e clique em Confirm.
NotaO sistema cria automaticamente uma nova versão para o trigger após a modificação.
-
Visualizar Version:
Clique em Version na coluna Actions para visualizar todas as versões históricas na página View Versions.
Clique em View na coluna Actions para visualizar os detalhes da versão.
-
Para reverter para uma versão histórica, clique em Roll Back ao lado da versão. Insira as Remarks da reversão e clique em OK.
NotaUma reversão gera automaticamente uma nova versão com base na versão histórica selecionada.
Excluir um trigger: Antes de excluir um trigger, cancele a implantação e exclua todas as tarefas que o referenciam. Em seguida, clique em Delete e clique em Confirm para confirmar.
Próximas etapas
Após criar um trigger, utilize-o em um workflow orientado a eventos. Consulte Criar um workflow orientado a eventos.