AEM事件

了解AEM事件、内容、使用原因和时机以及示例。

内容

AEM Eventing是一个云原生事件系统,支持订阅AEM事件以在外部系统中处理。 AEM事件是每当发生特定操作时AEM发送的状态更改通知。 例如,这可以包括创建、更新或删除内容片段时的事件。

AEM事件

上图显示了AEM as a Cloud Service如何生成事件并将它们发送到Adobe I/O事件,事件事件订阅者进而会看到这些事件。

总之,有三个主要组成部分:

  1. 事件提供程序: AEM as a Cloud Service。
  2. Adobe I/O活动: ​用于集成、扩展和构建基于Adobe产品和技术的应用程序和体验的开发人员平台。
  3. 事件使用者: ​由订阅AEM事件的客户拥有的系统。 例如,CRM (客户关系管理)、PIM (产品信息管理)、OMS (Order Management System)或自定义应用程序。

它有何不同

Apache Sling事件、OSGi事件和JCR观察所有用于订阅和处理事件的提供机制。 但是,这些事件不同于本文档中讨论的AEM事件。

AEM Eventing的主要区别包括:

  • 事件使用者代码在AEM外部执行,而不是在与AEM相同的JVM中运行。
  • AEM产品代码负责定义事件并将它们发送到Adobe I/O事件。
  • 事件信息经过标准化,并以JSON格式发送。 有关详细信息,请参阅cloudevents
  • 为了与AEM进行通信,事件消费者使用AEM as a Cloud Service API。

使用它的原因和时间

AEM Eventing在系统架构和运营效率方面提供了众多优势。 使用AEM Eventing的主要原因包括:

  • 构建事件驱动型体系结构:有助于创建可独立扩展且能够抵御故障的松耦合系统。
  • 代码低且运营成本较低:避免了AEM中的自定义设置,使系统更容易维护和扩展,从而降低运营成本。
  • 简化AEM与外部系统之间的通信:通过让Adobe I/O事件管理通信(如确定哪些AEM事件应传送到特定系统或服务),消除点对点连接。
  • 事件的持久性更高:Adobe I/O事件是一个高度可用且可扩展的系统,旨在处理大量事件并将它们可靠地交付给订阅者。
  • 并行处理事件:允许同时向多个订阅者交付事件,从而允许跨不同系统执行分布式事件处理。
  • 无服务器应用程序开发:支持将事件使用者代码部署为无服务器应用程序,从而进一步提高系统灵活性和可扩展性。

限制

AEM事件虽然强大,但存在一些需要考虑的限制:

  • 可用性限制为AEM as a Cloud Service:当前,AEM Eventing仅可用于AEM as a Cloud Service。

  • 可用的事件类型:在此处查看当前可用的事件类型列表。

如何启用

有关后续步骤,请参阅在AEM Cloud Service环境中启用AEM事件

如何订阅

要订阅AEM Events,您不必在AEM中编写任何代码,而是配置了Adobe Developer Console项目。 Adobe Developer Console是AdobeAPI、SDK、事件、运行时和App Builder的网关。

在这种情况下,通过Adobe Developer Console中的​ 项目,您可以订阅从AEM as a Cloud Service环境发出的事件,并配置事件传递到外部系统。

有关详细信息,请参阅如何在Adobe Developer Console中订阅AEM事件

如何消费

使用AEM事件有两种主要方法:推送 ​方法和​ 拉取 ​方法。

  • 推送方法:在此方法中,事件使用者会在事件可用时主动收到Adobe I/O事件的通知。 集成选项包括Webhooks、Adobe I/O Runtime和Amazon EventBridge。
  • Pull方法:在此处,事件使用者主动轮询Adobe I/O事件以检查新事件。 此方法的主要集成选项是Adobe Developer日记API。

有关详细信息,请参阅通过Adobe I/O事件处理的AEM事件

示例

在webhook上接收AEM事件

在webhook上接收AEM活动

使用Adobe提供的webhook接收AEM事件并查看事件详细信息。

加载AEM事件日志

加载AEM事件日志

使用Adobe提供的Web应用程序从日记账中加载AEM Events并查看事件详细信息。

在Adobe I/O Runtime操作中接收AEM事件

接收Adobe I/O Runtime操作的AEM事件

接收AEM事件并查看事件详细信息。

使用Adobe I/O Runtime操作处理AEM事件

使用Adobe I/O Runtime操作处理的 AEM事件

了解如何使用Adobe I/O Runtime操作处理收到的AEM事件。 事件处理包括AEM回调、事件数据持久性并在SPA中显示它们。

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69