Creación de cargas de trabajo de función con código en línea
Puede crear la función con código en línea. El código se almacena con la función. Puede crear este tipo de función desde la consola o con la CLI.
Un paquete de códigos es una colección de archivos que representa el código de función. Este paquete de código se inyecta en el contenedor de tiempo de ejecución. El paquete de código lo crea Code Engine y se almacena en el registro de contenedor o en línea con la función. Un paquete de códigos no es una imagen de contenedor estándar de Open Container Initiative (OCI).
Creación de una función con la consola en línea
Cree una función con código en línea desde la consola.
- Abra la consola de Code Engine.
- Selecciona « Empezar a crear ».
- Seleccione un proyecto de la lista de proyectos disponibles. También puede crear uno nuevo. Debe seleccionar un proyecto para crear una función.
- Selecciona « Función ».
- Introduce un nombre para la función; por ejemplo, «
myfunction». Utiliza un nombre para tu función que sea único dentro del proyecto. - Seleccione una Imagen de tiempo de ejecución para el código de función. Para obtener más información, consulte Tiempos de ejecución.
- Selecciona esta opción para especificar tu código como un paquete de código en línea. Cuando selecciona esta opción, la función se crea con un paquete de códigos de ejemplo para el tiempo de ejecución seleccionado. Puede editar el código de ejemplo después de crear la función. El paquete de código se almacena en línea con la función.
- Especifique la información de recursos, incluidas las combinaciones de CPU y memoria y Retardo de reducción de escala.
- Opcionalmente, especifique un dominio personalizado o variables de entorno. Puede añadir estas opciones más adelante.
- Pulse Crear.
- Una vez que el estado de la función pase a «Listo», podrás probarla. Pulse Probar función y, a continuación, pulse Enviar solicitud. Para abrir la función en una página web, haz clic en «Función» URL.
- También puede cambiar el código de función en la ventana Editor. Al volver a desplegar la función, el código se almacena en línea.
Puede invocar la función pulsando Probar función y, a continuación, Enviar solicitud.
Puede recuperar el código que se ha utilizado para crear cualquier función en línea ejecutando el mandato function get con las opciones --save. Por ejemplo, ibmcloud ce function get --name myfunction --save hellofun2.js.
Creación de una función con código en línea con la CLI
Cree una función con código en línea con la CLI utilizando el mandato ibmcloud ce function create. Para obtener una lista completa de opciones, consulta el ibmcloud ce function create comando.
Antes de empezar
- Configure su entorno de CLI de Code Engine.
- Cree y trabaje con un proyecto.
Este ejemplo utiliza un archivo de código denominado main.js. Puede utilizar el siguiente código de ejemplo para crear el archivo main.js o puede sustituir su propio código.
/**
* The `main` function is the entry-point into the function.
* It has one optional argument, which carries all the
* parameters the function was invoked with.
*/
async function main(params) {
// log environment variables available to the function
console.log(process.env);
// log Code Engine system headers available to the function
console.log(params.__ce_headers);
// log all parameters for debugging purposes
console.log("params: "+params);
// since functions are invoked through http(s), we return an HTTP response
return {
statusCode: 200,
headers: { 'Content-Type': 'application/json' },
body: params };
}
// this step is necessary, if you gave your main function a different name
// we include it here for documentation purposes only
module.exports.main = main;
Cree la función e incluya el código en el mandato. Por ejemplo, utilice el mandato ibmcloud ce function create para crear la función myhellofun.
ibmcloud ce fn create --name myhellofun --inline-code main.js --runtime nodejs
Salida de ejemplo
Creating function 'myhellofun'...
OK
Run 'ibmcloud ce function get -n myhellofun' to see more details.
https://myhellofun.glxo4kabcde.us-south.codeengine.appdomain.cloud
Puede guardar el código que se ha utilizado para crear cualquier función en línea ejecutando el mandato function get con las opciones --save. Por ejemplo, ibmcloud ce function get --name myhellofun --save hellofun2.js.
Próximos pasos
-
Después de crear su función, puede acceder a ella haciendo clic en Probar función en la consola o buscando la URL de su función con el
function getcomando. -
Puede crear una correlación de dominios personalizada y asignarla a la función.
-
Después de crear y desplegar la función, puede actualizar la función para que se ajuste a sus necesidades desde la consola o utilizando el mandato
ibmcloud ce function update. Si quieres actualizar tu código fuente para utilizarlo con tu función, debes especificar la opción «--build-source» en elfunction updatecomando.
Una vez creada la función, puedes actualizarla, así como el código al que hace referencia, mediante cualquiera de las siguientes formas, independientemente de cómo la hayas creado o actualizado anteriormente:
-
Si tiene un paquete de código existente, solo debe proporcionar una referencia a la imagen, que apunta a la ubicación del registro de contenedor al desplegar la app. Para obtener más información, consulte Creación de cargas de trabajo de función a partir de paquetes de código existentes.
Si ha creado la función utilizando el mandato
function createy ha especificado la opción--build-sourcepara crear el paquete de códigos a partir del origen local o de repositorio, y desea cambiar la función para que apunte a un paquete de códigos diferente, primero debe eliminar la asociación de la compilación de la función. Por ejemplo, ejecuteibmcloud ce function update -n FUN_NAME --build-clear. Después de eliminar la asociación de la compilación de la función, puede actualizar la función para que haga referencia a una imagen diferente. -
Si empiezas con código fuente que se encuentra en un repositorio de Git, puedes optar por dejar que Code Engine compile el paquete de código a partir de tu código fuente y cree tu función en una sola operación. En este caso, Code Engine sube tu paquete de código a IBM Cloud® Container Registry. Para obtener más información, consulte Creación de la función a partir del código fuente del repositorio.
-
Si está empezando con código fuente que reside en una estación de trabajo local, puede elegir Code Engine para crear el paquete de código a partir del origen y crear la función con un único mandato de CLI. En este escenario, Code Engine carga el código fuente y el paquete de código en IBM Cloud® Container Registry.
Por ejemplo, podrías optar por que Code Engine compile tu código fuente local mientras sigues desarrollando el código para la función. A continuación, después de que el paquete de códigos haya madurado, puede actualizar la función para que haga referencia al paquete de códigos específico que desee. Puede repetir este proceso según sea necesario.
¿Desea ver más ejemplos de código? Echa un vistazo a Ejemplos para el repositorio « IBM Cloud Code Engine GitHub ».