es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Depuración de IBM Cloud Function.

Comencé a investigar sobre IBM Cloud Functions (NodeJS runtime) y me preguntaba si alguien había sido capaz de depurar una función en su máquina local.

Supongamos que tenemos una función sencilla de NodeJs que devuelve un json.

const md5 = require('spark-md5');

function myAction(params) {
    // params contienen las filas provenientes de Cloudant, que incluyen todos los documentos
    return {
        entries: params.rows.map((row) => { return {
            name: row.doc.name,
            email: row.doc.email,
            comment: row.doc.comment,
            createdAt: row.doc.createdAt,
            icon: (row.doc.email ? <code>https://secure.gravatar.com/avatar/${md5.hash(row.doc.email.trim().toLowerCase())}?s=64</code> : null)
        }})
    };
}

exports.main = myAction;

Me gustaría tener puntos de interrupción y depuración paso a paso.
¿Cómo puedo depurar esta función antes de implementarla en IBM Cloud Functions?
Realmente no tengo idea de cómo puedo pasar las entradas y ver las salidas. Estoy acostumbrado a usar Postman para probar mis backends, pero aquí estoy un poco confundido y no sé por dónde empezar.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible depurar IBM Cloud Functions localmente antes de implementarlo. Una forma de hacerlo es usando la CLI de OpenWhisk y la función de modo de desarrollo local.

    Para empezar, puede instalar la CLI de OpenWhisk y configurarla para que funcione con IBM Cloud Functions. Luego, navegue hasta el directorio donde se encuentra almacenado el código de su función y ejecute el siguiente comando:

    wsk function invoke --param name value --result myAction --debug
    

    Este comando invocará su función y activará el modo de depuración. Luego, puede establecer puntos de interrupción en el código de su función y avanzar por ella para ver cómo se ejecuta. La bandera --result especifica la función que se invocará, mientras que la bandera --param le permite pasar parámetros de entrada a su función. Una vez que se ejecute la función, la bandera --debug mostrará información útil para la depuración.

    Otra opción es usar un entorno de desarrollo local o un IDE que admita la depuración de Node.js, como Visual Studio Code. Con este enfoque, puede clonar el repositorio de IBM Cloud Functions y ejecutar la función localmente en un entorno de prueba. Esto le permite establecer puntos de interrupción, ejecutar pruebas y depurar su código antes de implementarlo en la nube.

Comments are closed.