Eventos de acción y AEM de Adobe I/O Runtime
Aprenda a recibir eventos de AEM mediante la acción Adobe I/O Runtime y a revisar los detalles del evento, como la carga útil, los encabezados y los metadatos.
Adobe I/O Runtime es una plataforma sin servidor que permite ejecutar código en respuesta a Adobe I/O Events. De este modo, le ayuda a crear aplicaciones basadas en eventos sin tener que preocuparse por la infraestructura.
En este ejemplo, crea una Acción de Adobe I/O Runtime que recibe Eventos de AEM y registra los detalles del evento.
https://developer.adobe.com/runtime/docs/guides/overview/what_is_runtime/
Los pasos de alto nivel son los siguientes:
- Creación de un proyecto en Adobe Developer Console
- Inicializar proyecto para desarrollo local
- Configuración de un proyecto en Adobe Developer Console
- Almacene en déclencheur el evento de AEM y compruebe la ejecución de la acción
Requisitos previos
Para completar este tutorial, necesita lo siguiente:
-
Entorno AEM as a Cloud Service con evento de AEM habilitado.
-
Acceso a Adobe Developer Console.
-
CLI de Adobe Developer instalado en el equipo local.
Creación de un proyecto en Adobe Developer Console
Para crear un proyecto en Adobe Developer Console, siga estos pasos:
-
Vaya a Adobe Developer Console y haga clic en el botón Consola.
-
En la sección Inicio rápido, haga clic en Crear proyecto a partir de la plantilla. A continuación, en el cuadro de diálogo Examinar plantillas, seleccione App Builder.
-
Actualice el título del proyecto, el nombre de la aplicación y Añadir espacio de trabajo si es necesario. A continuación, haga clic en Guardar.
Inicializar proyecto para desarrollo local
Para agregar la acción de Adobe I/O Runtime al proyecto, debe inicializar el proyecto para el desarrollo local. En el equipo local, abra el terminal, desplácese hasta donde desee inicializar el proyecto y siga estos pasos:
-
Inicialice el proyecto ejecutando
code language-bash aio app init
-
Seleccione
Organization
,Project
que creó en el paso anterior y el área de trabajo. En el pasoWhat templates do you want to search for?
, seleccione la opciónAll Templates
. -
En la lista de plantillas, seleccione la opción
@adobe/generator-app-excshell
. -
Abra un proyecto en su IDE favorito, por ejemplo VSCode.
-
La plantilla de extensibilidad (
@adobe/generator-app-excshell
) seleccionada proporciona una acción de tiempo de ejecución genérica; el código se encuentra en el archivosrc/dx-excshell-1/actions/generic/index.js
. Actualicémoslo para que sea sencillo, registremos los detalles del evento y devolvamos una respuesta de éxito. Sin embargo, en el siguiente ejemplo, se mejora para procesar los eventos de AEM recibidos.code language-javascript const fetch = require("node-fetch"); const { Core } = require("@adobe/aio-sdk"); const { errorResponse, getBearerToken, stringParameters, checkMissingRequestInputs, } = require("../utils"); // main function that will be executed by Adobe I/O Runtime async function main(params) { // create a Logger const logger = Core.Logger("main", { level: params.LOG_LEVEL || "info" }); try { // 'info' is the default level if not set logger.info("Calling the main action"); // log parameters, only if params.LOG_LEVEL === 'debug' logger.debug(stringParameters(params)); const response = { statusCode: 200, body: { message: "Received AEM Event, it will be processed in next example", }, }; // log the response status code logger.info(`${response.statusCode}: successful request`); return response; } catch (error) { // log any server errors logger.error(error); // return with 500 return errorResponse(500, "server error", logger); } } exports.main = main;
-
Finalmente, implemente la acción actualizada en Adobe I/O Runtime ejecutando.
code language-bash aio app deploy
Configuración de un proyecto en Adobe Developer Console
Para recibir eventos de AEM y ejecutar la acción de Adobe I/O Runtime creada en el paso anterior, configure el proyecto en Adobe Developer Console.
-
En Adobe Developer Console, vaya al proyecto creado en el paso anterior y haga clic en para abrirlo. Seleccione el área de trabajo
Stage
, aquí es donde se implementó la acción. -
Haga clic en el botón Agregar servicio y seleccione la opción API. En el modal Add an API, seleccione Adobe Services > API de administración de E/S y haga clic en Siguiente, siga los pasos de configuración adicionales y haga clic en Guardar la API configurada.
-
Del mismo modo, haga clic en el botón Agregar servicio y seleccione la opción Evento. En el cuadro de diálogo Agregar eventos, seleccione Experience Cloud > AEM Sites y haga clic en Siguiente. Siga los pasos de configuración adicionales, seleccione la instancia de AEM CS, los tipos de evento y otros detalles.
-
Finalmente, en el paso Cómo recibir eventos, expanda la opción Acción en tiempo de ejecución y seleccione la acción genérica creada en el paso anterior. Haga clic en Guardar eventos configurados.
-
Revise los detalles de registro de eventos, también la ficha Seguimiento de depuración y compruebe la solicitud y respuesta de Sondeo de desafío.
Déclencheur de eventos de AEM
Para almacenar en déclencheur eventos de AEM desde el entorno de AEM as a Cloud Service que se haya registrado en el proyecto de Adobe Developer Console anterior, siga estos pasos:
-
Acceda a su entorno de creación de AEM as a Cloud Service e inicie sesión a través de Cloud Manager.
-
Según sus Eventos suscritos, cree, actualice, elimine, publique o cancele la publicación de un fragmento de contenido.
Revisar detalles del evento
Después de completar los pasos anteriores, debería ver los eventos de AEM que se envían a la acción genérica.
Puede revisar los detalles del evento en la ficha Seguimiento de depuración de los detalles de registro de eventos.
Pasos siguientes
En el siguiente ejemplo, vamos a mejorar esta acción para procesar eventos de AEM, volver a llamar al servicio de creación de AEM para obtener detalles de contenido, almacenar detalles en el almacenamiento de Adobe I/O Runtime y mostrarlos mediante la aplicación de una sola página (SPA).