Saltar al contenido

Utilice Redis en Kyma Runtime para almacenar y recuperar datos

Este ejemplo proporciona una implementación de Redis y dos funciones sin servidor que interactúan con él. La función cache-order el alistamiento se arreglará con order.created evento proporcionado por la aplicación comercial simulada. Cuando se le solicite, la función realizará una llamada a la API en el simulacro comercial para obtener más detalles sobre el pedido y luego depositará la información en Redis. La función get-order, divulgada como una API, se utiliza para recuperar datos de comandos de la caché de Redis.


Paso 1: Clonar el repositorio de Git

  1. Ve a la kyma-runtime-extension-examples Tienda. Este repositorio contiene una colección de aplicaciones Kyma de muestra que se utilizarán durante el tutorial.

  2. Descarga el código seleccionando el candado Código y luego seleccione una de las opciones para descargar el código localmente.

En su lugar, puede ejecutar el siguiente comando usando su CLI en la ubicación de la carpeta que desee:

git clone https://github.com/SAP-samples/kyma-runtime-extension-samples

Hecho

Inicie sesión para responder la pregunta

Paso 2: Conéctese, conecte con el espacio de nombres

En este paso, conectará la aplicación Commercial Mock con el espacio de nombres dev. Esto permitirá que las API y los eventos de la aplicación elegante se utilicen dentro del espacio de nombres.

  1. En el espacio de trabajo de la casa de Kyma, seleccione Integración> Aplicaciones / Sistemas.

  2. Selecciona el mp-commerce-mock aplicación haciendo clic en el valor del nombre que se muestra en la lista.

  3. Seleccione la opción Crea una conexión.

  4. Sa Espacio de nombre seleccionar seleccionar lista dev y luego seleccione Crear.

Hecho

Inicie sesión para responder la pregunta

Paso 3: crear los casos de servicio de Eventos

En este paso, creará instancias de servicio de los Eventos que revelan la aplicación Comercial Mock. Esto permitirá que los eventos se consuman de los recursos dentro del espacio de nombres como funciones o microservicios.

  1. En el espacio de trabajo de la casa de Kyma, seleccione Espacio de nombre.

  2. Selecciona el dev espacio de nombre.

    Espacio de nombre abierto

  3. Dentro de dev espacio de nombre, seleccione Gestión de servicios> Catálogo.

  4. Seleccione el mosaico mp-commerce-mock para ver los planes de clase de servicio de la aplicación.

    Catálogo de servicios

  5. Seleccione el plan de clase de servicio para SAP Commercial Cloud – Eventos.

    Catálogo de servicios

  6. Escoger Agregar y ahora Crear al Centro de Servicio del SAP Commercial Cloud – Eventos

    Catálogo de servicios

Hecho

Inicie sesión para responder la pregunta

Paso 4: crear casos de servicio de API

En este paso, creará un ejemplo de servicio del Commerce Webservices la aplicación revela Mock. El ejemplo de servicio presentará las API de recursos dentro del nombre del espacio como funciones y microservicios.

  1. Sa dev espacio de nombre, seleccione Gestión de servicios> Catálogo.

  2. Seleccione el mosaico burla-de-comercio-falso para ver los planes de clase de servicio de la aplicación.

    Catálogo de servicios

  3. Seleccione el plan de clase de servicio para SAP Commerce Cloud - Commerce Webservices.

    Catálogo de servicios

  4. Escoger Agregar y ahora Crear al Centro de Servicio del SAP Commerce Cloud - Commerce Webservices.

    Catálogo de servicios

Hecho

Inicie sesión para responder la pregunta

Paso 5: implementar recursos

En este paso, implementará tres recursos en el tiempo de ejecución de Kyma, que incluyen:

  • orden de depósito: Esta función enumerará un evento que publicó la pseudoaplicación comercial. Cuando se le solicite, volverá a la aplicación comercial simulada para totalPriceWithTax y luego depositar la información en Redis.
  • Obtener orden: Esta función se revelará como una API que permitirá recuperar datos almacenados en la caché de Redis.
  • redespliegue: Esta implementación define la configuración de la caché de Redis y el servicio de Kubernetes asociado que revela una instancia de Redis para ambas funciones del servidor.
  1. Sa dev espacio de nombre, seleccione Visión general.

  2. Escoger Implementar un nuevo recurso, utilizando la Navegar seleccionar la opción de archivo redis-function/k8s/cache-order.yaml y seleccione Despliegue.

  3. Repita los pasos para implementar los archivos. redis-function/k8s/get-order.yaml y redis-function/k8s/redis-deployment.yaml.

    Despliegue de recursos

Hecho

Inicie sesión para responder la pregunta

Paso 6: agregue un disparador de salida para operar

En este paso, configurará la función cache-order, desplegado en la fase anterior, para animar cuando command.created La salida de la aplicación Commercial Mock es mala.

  1. Sa dev espacio de nombre, seleccione Desarrollo> Funciones.

  2. Seleccione la función orden de depósito.

    Orden de depósito

  3. Seleccione la pestaña Configuración.

    Orden de depósito

  4. Sa Configuración desplácese hacia abajo y seleccione Agregar activadores de eventos.

  5. Seleccione el evento command.created y luego seleccione Agregar

    Añadir evento

Hecho

Inicie sesión para responder la pregunta

Paso 7: agregue un ejemplo de servicio a la función

En este paso, agregará un ejemplo de servicio a la secuencia de caché funcional que le permitirá llamar fácilmente a la API asociada.

  1. En la función orden de depósito, seleccione la pestaña Configuración.

  2. Sa Configuración desplácese hacia abajo y seleccione Crear una conexión de servicio.

  3. Seleccione el ejemplo de servicio creado en el paso anterior de la lista desplegable. El nombre de su ejemplo de servicio restará valor a lo que se muestra en la imagen.

  4. Escoger Crear.

    Servicio de conexión

Hecho

Inicie sesión para responder la pregunta

Paso 8: ajuste el código de función

  1. En la función orden de depósito Selecciona el Code pestaña.

  2. En la línea tres, sustituya el valor <REPLACE WITH GATEWAY_URL> con el GATEWAY_URL que se encuentran en las Variables de entorno debajo del código funcional. Este valor restará valor a lo que se muestra en la imagen.

  3. Escoger Salvar

    Ajustar el código

Hecho

Inicie sesión para responder la pregunta

Paso 9: Prueba del consumo de eventos

Una vez que se hayan completado los pasos de configuración, ahora puede probar el caso para validar que está funcionando según lo previsto.

  1. Abra la aplicación falsa en el navegador seleccionando Configuración> APIRules del menú.

  2. Selecciona el Anfitrión entrada para el burla de comercio APIRule para abrirlo en el navegador. Esta URL debería verse así:
    https://commerce.*******.kyma.shoot.live.k8s-hana.ondemand.com

  3. Selecciona el API remotas pestaña.

    Prueba el caso

  4. Selecciona el SAP Commercial Cloud – Eventos elección.

  5. Don Actas, Seleccione command.created.v1.

  6. Cambiar el orderCode valor como desee y seleccione Enviar evento. Asegúrate de recordar el orderCode valor, se utilizará más tarde.

    Prueba el caso

Hecho

Inicie sesión para responder la pregunta

Paso 10: revisar la salida en los registros de funciones

En este paso, veremos los registros emitidos por la función para verificar que el caso está funcionando.

  1. Sa dev espacio de nombre, seleccione Desarrollo> Funciones.

  2. Seleccione la función orden de depósito.

  3. Ampliar la Registros visor haciendo clic en la flecha que se encuentra en la parte inferior del visor funcional.

  4. Encuentra el valor orderCode.

  5. La salida debería ser como:

    Registro de funciones

Hecho

Inicie sesión para responder la pregunta

Paso 11: obtener resultados de la función de regla API

En este paso, usamos la función de comando para realizar una solicitud de lectura de los datos almacenados en la base de datos de Redis.

  1. Escoger Configuración> APIRules del menú.

  2. Selecciona el Anfitrión entrada para el Obtener orden APIRule para abrir la aplicación en el navegador. Cuando se abre por primera vez, recibirá el mensaje

    {"error":"No orderCode received!"}

  3. Suma el valor ?orderCode=12331231 a la URL donde el valor es el mismo que se utilizó al enviar el evento, por ejemplo

    https://get-order.*********.kyma-stage.shoot.live.k8s-hana.ondemand.com/?orderCode=12331231

  4. Esto debería generar el valor guardado cuando se ingresó el evento.

    {"orderCode":"12331231","Date":"Tue Nov 17 2020 19:28:42 GMT+0000 (Coordinated Universal Time)","Value":"100"}

¡Felicidades! Has completado con éxito la misión.