Creación de aplicaciones que almacenan información en IBM Cloudant
Aprenda a crear la aplicación Code Engine a partir del código fuente almacenado en la estación de trabajo local. Esta guía de aprendizaje utiliza un origen de ejemplo que se utiliza para crear la app. Esta aplicación se conecta a una base de datos IBM Cloudant y almacena la entrada de dicha aplicación.
Una compilación o una compilación de imagen es un mecanismo que puede utilizar para crear una imagen de contenedor a partir del código fuente. Code Engine permite compilar desde un archivo Docker y desde Cloud Native Buildpacks.
Antes de empezar
Todos los usuarios de Code Engine están obligados a tener una cuenta de pago por uso. Las guías de aprendizaje pueden incurrir en costes. Utilice el Estimador de costes para generar una estimación de costes basada en el uso previsto. Para obtener más información, consulte Precios deCode Engine.
Crear una instancia de servicio y una base de datos de IBM Cloudant
El primer paso es crear una instancia de servicio de IBM Cloudant y, a continuación, crear una base de datos. Puede crear un desde la consola o utilizando mandatos de CLI. Además, cree credenciales de servicio que puede pasar a la aplicación.
- Cree una instancia de servicio de IBM Cloudant, siga los pasos de Iniciación a IBM Cloudant. Asigne el nombre
CloudantFruitCounter
a la instancia. Asegúrese de completar la tarea creando las credenciales de servicio. - Abra el panel de control IBM Cloudant para la instancia y pulse Crear base de datos.
- En la ventana Crear base de datos, especifique el nombre de base de datos
fruitcounter
. - No seleccione la opción Particionado y pulse Crear.
Probar la aplicación localmente
Antes de crear el código como una aplicación en Code Engine, pruebe el código localmente para asegurarse de que funciona correctamente.
-
Recupere las credenciales del servicio IBM Cloudant del panel de control IBM Cloudant. Para obtener más información sobre la recuperación de credenciales, consulte Creación de credenciales de servicio.
-
Establezca las variables de entorno con los valores de las credenciales de servicio.
export CLOUDANT_URL=<your_url>
export CLOUDANT_APIKEY=<your_key>
export DBNAME="fruitcounter"
-
Clone el repositorio
fruit-counter
, vaya a este directorio y, a continuación, instale e inicie las dependencias.git clone https://github.com/IBM/CodeEngine cd CodeEngine/fruit-counter npm install npm run start
-
Abra un navegador y vaya a
http://localhost:8080
. -
Escoge tu fruta favorita y envía tu elección. La aplicación acepta su elección y muestra un total acumulado de selecciones.
Puede verificar que su elección de fruta se ha registrado en Cloudant yendo al panel de control de base de datos de IBM Cloudant.
Veamos cómo funciona este programa.
Esta aplicación es una aplicación Node.js simple que utiliza dos paquetes principales.
@ibm-cloud/cloudant
para conectarse a IBM Cloudant y para leer y escribir datos.- Express para crear un servidor web que permita a los usuarios enviar su selección de fruta y ver un total acumulado de nuestros datos.
Esta aplicación se compone de dos archivos principales.
- server.js
- El archivo
server.js
se utiliza para ejecutar el servidor web y se comunica con Cloudant. Después de que un usuario seleccione una opción fruit, la página frontal envía el valor a la ruta/fruit
(consulte más abajo), la funciónapp.route
almacena un nuevo documento en Cloudant con la opción fruit y, a continuación, lee el total acumulado para volver a la página frontal. - La operación de lectura utiliza un documento de diseño de Cloudant y una vista de
MapReduce
para agregar documentos. Para obtener más información sobre vistas y documentos de diseño, consulte Creación de vistas(MapReduce). - index.html
- El archivo
index.html
es la página web de la aplicación que utiliza la infraestructura deVue.js
. Cuando se carga esta página, muestra las opciones de fruta disponibles. - Después de enviar su elección, la infraestructura realiza una solicitud HTTP POST con su selección de fruta a la ruta
/fruit
de la aplicación. La devolución de la aplicación contiene el total acumulado de opciones de fruta, que se muestra a continuación.
Despliegue de la aplicación en Code Engine
Ahora que comprende cómo funciona esta aplicación, puede desplegarla en Code Engine. Puede seguir los pasos para desplegar una aplicación desde un repositorio público, especificando
CODEENGINEREPO
como repositorio de imágenes. Asegúrese de incluir las variables de entorno que ha recopilado y establecido localmente en el paso 2.
Puesto que ha clonado el repositorio al probar la aplicación localmente, puede utilizar el mandato app create
para crear una imagen desde el origen local y desplegar la aplicación
que hace referencia a esta imagen compilada.
-
Ejecute el mandato app create. Debe proporcionar un nombre para la aplicación y la ubicación del código fuente. El ejemplo siguiente crea una aplicación denominada
myfruitcounter
que utiliza la estrategiadocker
y proporciona la ubicación para el código fuente en el directorio actual (.
). También debe establecer las variables de entorno para conectarse a Cloudant.ibmcloud ce app create --name myfruitcounter --build-source . --strategy dockerfile --env CLOUDANT_URL=<your_url> --env CLOUDANT_APIKEY=<your_key> --env DBNAME=fruitcounter
Salida de ejemplo
Creating application 'myfruitcounter'... Packaging files to upload from source path '.'... Submitting build run 'myfruitcounter-run-220727-142949868'... Creating image 'private.us.icr.io/ce--6ef04-n2lgvg2l59v/app-myfruitcounter:220727-1929-y8ej0'... Waiting for build run to complete... Build run status: 'Running' Build run completed successfully. Run 'ibmcloud ce buildrun get -n myfruitcounter-run-220727-142949868' to check the build run status. Waiting for application 'myfruitcounter' to become ready. Configuration 'myfruitcounter' is waiting for a Revision to become ready. Ingress has not yet been reconciled. Waiting for load balancer to be ready. Run 'ibmcloud ce application get -n myfruitcounter' to check the application status. OK https://myfruitcounter.n2lfrg2876v.us-south.codeengine.appdomain.cloud
-
Pruebe la aplicación abriendo el URL proporcionado para la aplicación del selector de fruta. Escoja su fruta favorita y envíela. Se muestra el total acumulado de opciones de fruta. Puede renovar la aplicación y elegir otra fruta. La adición se muestra en el total acumulado.