Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Las aplicaciones engloban un conjunto de funciones, y cada usuario de plataforma puede crearse crear tantas aplicaciones como necesite. Estás aplicaciones tendrán asociado un repositorio de Git de trabajo, donde residirá el código de todas las funciones que pertenezcan a dichas aplicaciones.

Así mismo, dentro de cada aplicación se podrán crear N funciones. A efectos prácticos, una función será un proyecto de código (Java/Maven, Python,…) con una estructura que detallaremos más adelante. Cada función será responsable de ejecutar una funcionalidad específica.

Aplicaciones

Listado

Si nos dirigimos te diriges dentro del menú de Desarrollo a Mis aplicaciones Serverless/ o Gestión de aplicaciones Serverless (dependiendo del role rol que tengamostengas), iremos a verás un listado donde se mostrarán todas nuestras tus aplicaciones creadas.

...

Para cada función se mostraran datos en la tabla como: propietario, repositorio de Git, nº de funciones en la aplicación…

...

Para crear una nueva aplicación, tendremos tendrás que darle dentro del listado al icono del ‘+'.

A la hora de crear una nueva aplicaciones, se nos te pedirán las credenciales de Git (GitHub o GitLab), y se nos te preguntará si queremos quieres crear un proyecto nuevo asociado a dicha aplicación, en . En caso negativo tendremos , tendrás que especificar también la URL del repositorio Git existente.

...

Este repositorio Git creado o ya existente, será el repositorio de trabajo donde desarrollaremos desarrollarás las funciones de la aplicación.

NOTA: próximamente Próximamente se incorporará una funcionalidad que permitirá crear las aplicaciones con varios arquetipos a modo de ejemplo sobre los que empezar a desarrollar las funciones.

...

En la pantalla de modificación de aplicación, accesible desde el listado a través del icono del lápiz, podremos podrás únicamente modificar la información relativa al nombre y la configuración de Git.

...

Lo único que hay que tener en cuenta , es que, aunque se borre tanto la aplicación como sus funciones, el repositorio de Git no se borrará.

Vista

Desde la página de vista podremos , podrás ver tanto la información general de la aplicación como el listado de funciones de la misma.

Información general:

Aquí encontraremos encontrarás la información relativa al Git, así como las variables de entorno definidas en la aplicación.

Estas variables de entorno serán accesibles desde todas y cada una de las funciones de la aplicación. No obstante, no obstante podrán ser sobrescritas a nivel de función.

...

Listado de funciones:

En la segunda pestaña de la vista, podremos podrás ver un listado de funciones con datos relevantes como: versión de la función, memoria asignada, nombre, ruta relativa dentro del proyecto Git, endpoints de invocación…

...

Además desde este listado, podremos podrás crear, editar, borrar y desplegar funciones.

...

A la hora de crear una función se nos pedirá únicamente el nombre de la función y el path relativo dentro del repositorio Git. En el momento de la creación no es necesario que exista el código asociado a la función dentro del repositorio, pero sí tendrá que existir a la hora de desplegarla.

...

Estructura de código de una función:

La estructura de la función vendrá dada por el lenguaje de programación que se vaya a utilizar, podrá . Podrá ser un proyecto Maven, Java, Go, Python… Aquí hay una lista de los lenguajes soportados.

...

Para completar el fichero func.yaml, recomendamos ver este documento dónde se explica cada propiedad.

Func.yaml de una función java:

Code Block
schema_version: 20180708
name: ontology
version: 0.0.26
runtime: java11
build_image: fnproject/fn-java-fdk-build:jdk11-1.0.124
run_image: fnproject/fn-java-fdk:jre11-1.0.124
cmd: com.minsait.onesait.OntologyCalculationFn::handleRequest
config:
  API_KEY: 26104876616f40908e3643ed1f6357d1
  GRAYLOG_HOST: log-centralizer
  GRAYLOG_PORT: "12201"
triggers:
- name: endpoint
  type: http
  source: /calculate

Func.yaml de una función python:

Code Block
schema_version: 20180708
name: pythonfn
version: 0.0.1
runtime: python
entrypoint: /python/bin/fdk /function/func.py handler
memory: 256
config:
  API_KEY: 26104876616f40908e3643ed1f6357d1
triggers:
- name: endpoint
  type: http
  source: /pythonfn

...

En la pantalla de modificación de una función podremos puedes actualizar tanto el nombre de nuestra tu función como la ruta relativa dentro del repositorio.

Borrado

Podremos Puedes borrar una función (pero no el código del repositorio) desde el listado de funciones de una aplicación o desde la pantalla de modificación.

Despliegue

Cuando tengamos tengas lista nuestra tu función, podremos podrás desplegarla desde el icono del cohete, en el listado de funciones.

...

Este podrá tardar hasta 1 minuto. Una vez finalizado el despliegue, se recargará la página y veremos verás cómo se incrementa la versión de la función desplegada (quedará reflejado en el func.yaml del repositorio con un commit).

...

Una vez desplegada la función, podremos podrás invocarla via vía HTTP para ejecutarla /u probarla. Existen dos tipos de endpoints invocables: auto-generados y triggers HTTP.

...

Los triggers pueden ser invocados con el verbo GET o POST, en función de si nuestra tu función necesita recibir algún payload o no.

...