El módulo OpenEvent en DataWorks utiliza EventBridge para la suscripción y entrega de mensajes de eventos. Después de crear un bus de eventos personalizado en EventBridge, configure un canal de distribución de eventos en DataWorks para publicar los eventos y, posteriormente, cree reglas en EventBridge para enrutarlos hacia los servicios descendentes.
Notas de uso
Edition: DataWorks Enterprise Edition only.
Regiones: Compatible con China (Beijing), China (Hangzhou), China (Shenzhen), China (Shanghai), China (Zhangjiakou), China (Chengdu), EE. UU. (Silicon Valley), EE. UU. (Virginia), Alemania (Frankfurt), Japón (Tokio), China (Hong Kong) y Singapur.
Control de acceso: Solo el Open Platform Administrator, el Tenant Administrator, las cuentas de Alibaba Cloud o los usuarios de RAM con el permiso Aliyundataworksfullaccess tienen permisos de lectura y escritura en la consola de desarrolladores. Open Platform administrator. Grant the AliyunDataWorksFullAccess permission to a RAM user.
Dependencia: OpenEvent utiliza EventBridge para la suscripción y el consumo de mensajes. Active EventBridge antes de empezar.
Precauciones
Si su suscripción a DataWorks Enterprise Edition caduca, todas las extensiones quedan invalidadas y ya no pueden activar verificaciones de eventos. El sistema aprueba automáticamente cualquier verificación activada que no haya alcanzado un estado terminal.
Funcionamiento
DataWorks expone mensajes de cambio de estado para los procesos principales. En el módulo OpenEvent, puede asignar un espacio de trabajo de DataWorks a un bus de eventos de EventBridge para que todos los mensajes publicados desde dicho espacio se envíen a ese bus. Posteriormente, puede filtrar estos mensajes en EventBridge para seleccionar los que requiera un sistema descendente y definir cómo y dónde se entregan.
Los mensajes generados por operaciones en módulos a nivel de inquilino se envían automáticamente al bus de eventos predeterminado, denominado Default, en EventBridge. Para consultar una lista de eventos compatibles a nivel de inquilino, véase Tenant-level events.
Configuración de DataWorks
Configure un canal de distribución de eventos en DataWorks para enviar mensajes de eventos a un bus de eventos de EventBridge. A continuación, se describen los pasos para autorizar a DataWorks a acceder a EventBridge y especificar el bus de eventos de destino.
Paso 1: Otorgar autorización de servicio
Si utiliza el servicio OpenEvent por primera vez, use su cuenta de Alibaba Cloud o un usuario de RAM que tenga el permiso AliyunDataWorksFullAccess para autorizar a DataWorks a acceder a EventBridge.
-
Inicie sesión en la consola de DataWorks. En la región de destino, haga clic en en el panel de navegación izquierdo. Haga clic en Go to Open Platform para abrir la página Developer Backend.
En la página Developer Backend, haga clic en OpenEvent en el panel de navegación izquierdo para ir a la página OpenEvent.
-
Autorice a DataWorks para acceder a los recursos de EventBridge.
Si es la primera vez que utiliza el servicio, aparecerá un botón Authorize. Siga las instrucciones en pantalla para otorgar DataWorks permission to access EventBridge resources. Esta acción crea automáticamente un rol service-linked denominado AliyunServiceRoleForDataWorksOpenPlatform en RAM console under .
Paso 2: Configurar el canal de distribución de eventos
Un canal de distribución de eventos asigna un espacio de trabajo de DataWorks a un bus de eventos de EventBridge. Esto garantiza que todos los mensajes publicados desde el espacio de trabajo se envíen a ese bus específico.
Haga clic en Add Event Distribution Channel. En el cuadro de diálogo que aparece, configure los parámetros Workspace for Event Distribution y Distribute to Custom Event Bus in EventBridge.
-
Si no hay ningún bus de eventos disponible en EventBridge, puede hacer clic en Create Custom Event Bus to go to the EventBridge console y crear uno. Alternatively, haga clic en Quickly Create Custom Event Bus with Same Name as Your Workspace to immediately generate an event bus.
En el cuadro de diálogo Add Event Distribution Channel, seleccione un espacio de trabajo para el parámetro Workspace for Event Distribution y un bus de eventos personalizado para el parámetro Distribute to Custom Event Bus in EventBridge; luego, haga clic en OK.
Paso 3: Habilitar el canal de distribución de eventos
Una vez configurado el canal de distribución de eventos, podrá consultarlo en la página OpenEvent. En la columna Actions, puede Delete, Enable o Disable el canal.
-
Enable: Al habilitar el canal, los mensajes de eventos del espacio de trabajo se envían al bus de eventos correspondiente.
Posteriormente, puede ir a la consola de EventBridge para consultar todos los mensajes de eventos enviados desde DataWorks, filtrar los mensajes que necesite un consumidor descendente y definir cómo y a qué servicios se entregan dichos mensajes.
Disable/Delete: Si deshabilita o elimina el canal, DataWorks deja de enviar mensajes de eventos desde el espacio de trabajo al bus de eventos correspondiente. Ya no podrá recibir estos mensajes de eventos a través de EventBridge.
Configuración de EventBridge
Después de habilitar el canal de distribución de eventos en DataWorks, los mensajes publicados se envían automáticamente al bus de eventos de EventBridge especificado. A continuación, debe configurar reglas de eventos en EventBridge para filtrar mensajes específicos y definir sus destinos de entrega.
Paso 1: Crear un bus de eventos personalizado
Si creó un bus de eventos personalizado con el mismo nombre que su espacio de trabajo de DataWorks en Step 2: Configure an event distribution channel, puede usar ese bus directamente. Si hizo clic en Create Custom Event Bus, siga estos pasos para crear uno. Para obtener más información, consulte Event bus overview.
Inicie sesión en la consola de EventBridge y haga clic en Event Bus en el panel de navegación izquierdo.
En la página Event Buses, vaya a la pestaña Custom Event Buses y haga clic en Quickly Create. El siguiente ejemplo crea un bus de eventos personalizado denominado
DataWorks2023. Para crear el bus rápidamente, solo necesita configurar Name y Description. Puede omitir los pasos Event Source, Rule y Target.
Paso 2: Configurar la regla de eventos
Después de crear el bus de eventos, puede configurar manualmente una regla de eventos para enrutar los mensajes de eventos de DataWorks hacia sus servicios de destino.
En la barra de navegación izquierda, haga clic en Event Bus. Busque el bus de eventos de EventBridge de destino y haga clic en para ir a la página de configuración de reglas de eventos.
En la página Event Rules, haga clic en Create Rule en la esquina superior izquierda.
Configure basic information: Introduzca un nombre y una descripción para la regla de eventos. En el paso Configure basic information, el Event bus se establece en
DataWorks2023de forma predeterminada y no se puede editar. En Name, introduzcainstanceStatusChanges(de 2 a 127 caracteres; puede contener letras, dígitos o guiones). En Description, introduzca una descripción como "Esta regla filtra los mensajes de 'cambio de estado de instancia' de todos los mensajes de eventos del espacio de trabajo".-
Configure event pattern : Un patrón de eventos filtra los mensajes según su contenido. Configure los parámetros de la siguiente manera:
Event Source Type: Seleccione Custom Event Source.
Event Source: Mantenga el valor predeterminado.
-
Pattern Content: Utilice el formato JSON para especificar el tipo de mensaje de evento. Cada mensaje de evento de DataWorks tiene un tipo fijo. Puede encontrar el tipo de mensaje para cada operación en Reference: Event list and message format y utilizarlo como valor para la clave
typeen el contenido del patrón.{ "source": [ "acs.dataworks" ], "type": [ "dataworks:InstanceStatusChanges:InstanceStatusChanges" ] }
-
Debug event pattern : Después de configurar el patrón de eventos, puede depurarlo para comprobar que funciona como se espera.
Si completó Step 3: Enable the event distribution channel en DataWorks, los mensajes de eventos se están enviando a EventBridge. Para probar su patrón, vaya a la página Event Tracking, busque un evento de DataWorks para su bus y copie sus detalles. Pegue los detalles en la sección Event Pattern Debugging y haga clic en Test para verificar el filtro.
-
Si los tipos de eventos no coinciden, se muestra el mensaje "Match failed".
-
Si los tipos de eventos coinciden, se muestra el mensaje "Match succeeded. The event can be triggered as expected.".
-
-
Configure event target: Además de los servicios personalizados, puede enviar eventos a diversos destinos para su consumo. Para obtener más información, consulte Event targets overview.
Al configurar el destino del evento, establezca Service Type en HTTPS. En URL, introduzca la dirección del servicio HTTPS, por ejemplo,
https://example.com/eventBridge/dataworksEvent. En Body, seleccione Complete Event. En Network Type, seleccione Public Network.NotaLa configuración en la figura muestra mensajes que se envían a un servicio HTTPS especificado. Para que un extension reciba este mensaje, seleccione HTTPS como tipo de servicio e introduzca la dirección de despliegue de la extensión en el campo URL.
Después de configurar y guardar la regla de eventos, EventBridge puede enrutar los mensajes de eventos de DataWorks según su configuración. Esta configuración también admite extensions.
Consultar mensajes de eventos enviados
Cuando el canal de distribución de eventos está habilitado y se activa un evento en DataWorks, puede consultar los mensajes de eventos enviados en la página Event Tracking del bus de eventos asociado. Puede localizar mensajes de eventos específicos por tipo. Para consultar una lista de tipos de eventos, véase Reference: Event list and message format.
En la página Event Tracking, seleccione Query by Time Range. Establezca un intervalo de tiempo y haga clic en Query para ver los registros de eventos activados por DataWorks, como eventos con el tipo dataworks:FileChange:DeployFile (despliegue de archivo) o dataworks:FileChange:CommitFile (confirmación de archivo). Para ver más información sobre un registro, revise su event trajectory y event details.
Mejores prácticas
Suscripción a mensajes con un servicio local: Best Practices: Custom Task Deployment Lockdown.