O módulo OpenEvent do DataWorks usa o EventBridge para assinatura e entrega de mensagens de eventos. Crie um event bus personalizado no EventBridge, configure um canal de distribuição de eventos no DataWorks para publicar os eventos e crie regras no EventBridge para roteá-los aos serviços downstream.
Observações de uso
Edição: Disponível exclusivamente na DataWorks Enterprise Edition.
Regiões: Suportado em China (Beijing), China (Hangzhou), China (Shenzhen), China (Shanghai), China (Zhangjiakou), China (Chengdu), US (Silicon Valley), US (Virginia), Germany (Frankfurt), Japan (Tokyo), China (Hong Kong) e Singapore.
Controle de acesso: Apenas o Open Platform Administrator, o Tenant Administrator, contas Alibaba Cloud ou usuários RAM com a permissão Aliyundataworksfullaccess têm permissões de leitura e gravação no console do desenvolvedor. Consulte Open Platform administrator e Grant the AliyunDataWorksFullAccess permission to a RAM user.
Dependência: O OpenEvent usa o EventBridge para assinatura e consumo de mensagens. Ative o EventBridge antes de começar.
Precauções
Se a assinatura do DataWorks Enterprise Edition expirar, todas as extensões ficarão inválidas e não poderão mais acionar verificações de eventos. O sistema aprova automaticamente quaisquer verificações acionadas que ainda não tenham atingido um estado terminal.
Como funciona
O DataWorks expõe mensagens de alteração de status dos processos principais. No módulo OpenEvent, mapeie um workspace do DataWorks para um event bus do EventBridge. Assim, todas as mensagens publicadas pelo workspace serão enviadas para esse bus. Filtre essas mensagens no EventBridge para selecionar aquelas necessárias a um sistema downstream e defina como e onde entregá-las.
As mensagens geradas por operações em módulos no nível de tenant são enviadas automaticamente para o event bus padrão, chamado Default, no EventBridge. Para obter uma lista de eventos suportados no nível de tenant, consulte Tenant-level events.
Configuração do DataWorks
Configure um canal de distribuição de eventos no DataWorks para enviar mensagens de eventos a um event bus do EventBridge. As etapas a seguir orientam você a autorizar o DataWorks a acessar o EventBridge e a especificar o event bus de destino.
Etapa 1: Conceder autorização de service
Se estiver usando o service OpenEvent pela primeira vez, use sua conta Alibaba Cloud ou um usuário RAM com a permissão AliyunDataWorksFullAccess para autorizar o DataWorks a acessar o EventBridge.
-
Faça logon no console do DataWorks. Na região de destino, clique em no painel de navegação à esquerda. Clique em Go to Open Platform para abrir a página Developer Backend.
Na página Developer Backend, clique em OpenEvent no painel de navegação à esquerda para acessar a página OpenEvent.
-
Autorize o DataWorks a acessar os recursos do EventBridge.
Se esta for a primeira vez que você usa o service, um botão Authorize será exibido. Siga as instruções na tela para conceder ao DataWorks permissão de acesso aos recursos do EventBridge. Essa ação cria automaticamente uma função vinculada ao service chamada AliyunServiceRoleForDataWorksOpenPlatform no console do RAM, em .
Etapa 2: Configurar o canal de distribuição de eventos
Um canal de distribuição de eventos mapeia um workspace do DataWorks para um event bus do EventBridge. Isso garante que todas as mensagens publicadas pelo workspace sejam enviadas para esse bus específico.
Clique em Add Event Distribution Channel. Na caixa de diálogo exibida, configure os parâmetros Workspace for Event Distribution e Distribute to Custom Event Bus in EventBridge.
-
Se não houver nenhum event bus disponível no EventBridge, clique em Create Custom Event Bus para acessar o console do EventBridge e criar um. Alternativamente, clique em Quickly Create Custom Event Bus with Same Name as Your Workspace para gerar imediatamente um event bus.
Na caixa de diálogo Add Event Distribution Channel, selecione um workspace para o parâmetro Workspace for Event Distribution e um event bus personalizado para o parâmetro Distribute to Custom Event Bus in EventBridge; em seguida, clique em OK.
Etapa 3: Ativar o canal de distribuição de eventos
Após configurar o canal de distribuição de eventos, visualize-o na página OpenEvent. Na coluna Actions, você pode Delete, Enable ou Disable o canal.
-
Enable: Ao ativar o canal, as mensagens de eventos do workspace são enviadas para o event bus correspondente.
Em seguida, acesse o console do EventBridge para visualizar todas as mensagens de eventos enviadas do DataWorks, filtrar as mensagens necessárias para um consumidor downstream e definir como e para quais serviços essas mensagens serão entregues.
Disable/Delete: Se você desativar ou excluir o canal, o DataWorks interromperá o envio de mensagens de eventos do workspace para o event bus correspondente. Não será mais possível receber essas mensagens de eventos por meio do EventBridge.
Configuração do EventBridge
Depois de ativar o canal de distribuição de eventos no DataWorks, as mensagens publicadas são enviadas automaticamente para o event bus do EventBridge especificado. Configure então as regras de eventos no EventBridge para filtrar mensagens específicas e definir seus destinos de entrega.
Etapa 1: Criar event bus personalizado
Se você criou um event bus personalizado com o mesmo nome do seu workspace do DataWorks na Step 2: Configure an event distribution channel, use esse bus diretamente. Caso tenha clicado em Create Custom Event Bus, siga estas etapas para criar um. Para mais informações, consulte Event bus overview.
Faça logon no console do EventBridge e clique em Event Bus no painel de navegação à esquerda.
Na página Event Buses, acesse a aba Custom Event Buses e clique em Quickly Create. O exemplo a seguir cria um event bus personalizado chamado
DataWorks2023. Para criar o bus rapidamente, basta configurar o Name e a Description. Ignore as etapas Event Source, Rule e Target.
Etapa 2: Configurar regra de evento
Após criar o event bus, configure manualmente uma regra de evento para rotear as mensagens de eventos do DataWorks aos seus serviços de destino.
No painel de navegação à esquerda, clique em Event Bus. Localize o event bus do EventBridge de destino e clique em para acessar a página de configuração de regras de eventos.
Na página Event Rules, clique em Create Rule no canto superior esquerdo.
Configure basic information: Insira um nome e uma descrição para a regra de evento. Na etapa Configure basic information, o Event bus é definido como
DataWorks2023por padrão e não pode ser editado. Em Name, insirainstanceStatusChanges(2 a 127 caracteres, podendo conter letras, dígitos ou hifens). Em Description, insira uma descrição como "Esta regra filtra mensagens de 'alteração de status da instância' dentre todas as mensagens de eventos do workspace.".-
Configure event pattern : Um padrão de evento filtra mensagens com base em seu conteúdo. Configure os parâmetros da seguinte forma:
Event Source Type: Selecione Custom Event Source.
Event Source: Mantenha o valor padrão.
-
Pattern Content: Use o formato JSON para especificar o tipo de mensagem de evento. Cada mensagem de evento do DataWorks possui um tipo fixo. Encontre o tipo de mensagem para cada operação em Reference: Event list and message format e use-o como valor para a chave
typeno conteúdo do padrão.{ "source": [ "acs.dataworks" ], "type": [ "dataworks:InstanceStatusChanges:InstanceStatusChanges" ] }
-
Debug event pattern : Após configurar o padrão de evento, depure-o para verificar se funciona conforme o esperado.
Se você concluiu a Step 3: Enable the event distribution channel no DataWorks, as mensagens de eventos estão sendo enviadas ao EventBridge. Para testar seu padrão, acesse a página Event Tracking, localize um evento do DataWorks para o seu bus e copie seus detalhes. Cole os detalhes na seção Event Pattern Debugging e clique em Test para verificar o filtro.
-
Se os tipos de evento não corresponderem, a mensagem "Match failed" será exibida.
-
Se os tipos de evento corresponderem, a mensagem "Match succeeded. The event can be triggered as expected." será exibida.
-
-
Configure event target: Além de serviços personalizados, envie eventos para vários outros destinos para consumo. Para mais informações, consulte Event targets overview.
Ao configurar o destino do evento, defina Service Type como HTTPS. Em URL, insira o endereço do service HTTPS, como
https://example.com/eventBridge/dataworksEvent. Em Body, selecione Complete Event. Em Network Type, selecione Public Network.NotaA configuração na figura mostra mensagens sendo enviadas para um service HTTPS especificado. Para que uma extension receba essa mensagem, selecione HTTPS como tipo de service e insira o endereço de implantação da extensão no campo URL.
Após configurar e salvar a regra de evento, o EventBridge poderá rotear as mensagens de eventos do DataWorks com base nas suas definições. Esta configuração também oferece suporte a extensions.
Visualizar mensagens de eventos enviadas
Quando o canal de distribuição de eventos está ativado e um evento é acionado no DataWorks, visualize as mensagens de eventos enviadas na página Event Tracking do event bus associado. Localize mensagens de eventos específicas por tipo. Para obter uma lista de tipos de eventos, consulte Reference: Event list and message format.
Na página Event Tracking, selecione Query by Time Range. Defina um intervalo de tempo e clique em Query para visualizar os registros de eventos acionados pelo DataWorks, como eventos do tipo dataworks:FileChange:DeployFile (implantação de arquivo) ou dataworks:FileChange:CommitFile (commit de arquivo). Para ver mais informações sobre um registro, verifique sua event trajectory e event details.
Melhores práticas
Assinatura de mensagens com um service local: Best Practices: Custom Task Deployment Lockdown.