...
Desde la página de vista podremos ver tanto la información general de la aplicación como el listado de funciones de la misma.
Información general:
Aquí encontraremos la información relativa al Git, así como las variables de entorno definidas en la aplicación.
...
En la segunda pestaña de la vista, podremos 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…invocación…
...
Además desde este listado, podremos 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á ser un proyecto mavenMaven, javaJava, goGo, python… 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
|
A continuación dejamos un zip con 3 ejemplos de funciones.
...
Este podrá tardar hasta 1 minuto. Una vez finalizado el despliegue, se recargará la página y veremos como cómo se incrementa la versión de la función desplegada (quedará reflejado en el func.yaml del repositorio con un commit).
...
Invocación HTTP
Una vez desplegada la función, podremos invocarla via HTTP para ejecutarla/probarla. Existen dos tipos de endpoints invocables: auto-generados y triggers HTTP.
...