Estás viendo la documentación de Apigee Edge.
Ir a la
documentación de Apigee X. info
En este tema, se explica cómo implementar una aplicación de Node.js desde tu sistema local en Apigee Edge.
En este tema, analizaremos cómo usar una herramienta de línea de comandos llamada apigeetool para
implementar aplicaciones de Node.js en Apigee Edge.
Acerca de la implementación de código de Node.js en Apigee Edge
Puedes implementar una aplicación de API de Node.js existente, incluidos los módulos de Node.js dependientes,
desde tu sistema local en Apigee Edge con una utilidad de línea de comandos llamada
apigeetool. La utilidad agrupa automáticamente la aplicación y sus dependencias
en un proxy de API y la implementa en Edge.
Por ejemplo, supongamos que usaste Express para crear una aplicación web en Node.js. La
aplicación se ejecuta como un servidor HTTP que detecta las solicitudes HTTP, las procesa,
devuelve datos, etcétera. Cuando usas apigeetool para implementar una aplicación de Node.js
en Edge, se incluye en un proxy y se ejecuta en el contexto de la plataforma de Edge. Luego, puedes llamar a tu aplicación a través de su nueva URL de proxy y agregarle valor a
ella “vistiéndola” con funciones estándar de Edge, como seguridad de OAuth, políticas de cuota, políticas de protección contra amenazas, flujos condicionales, almacenamiento en caché y muchas otras.
¿Qué hace apigeetool?
Cuando ejecutas la utilidad apigeetool con la opción deploynodeapp,
sucede lo siguiente:
- Genera un paquete de configuración de proxy de API para alojar la aplicación de Node.js.
- Empaqueta la aplicación de Node.js con los paquetes de Node.js instalados con NPM (módulos empaquetados de Node).
- Importa el paquete de configuración de proxy de API a la organización especificada en Apigee Edge con la API de administración de Edge.
- Implementa el proxy de API en un entorno.
- Ejecuta la aplicación de Node.js en Apigee Edge y la pone a disposición en la red.
Prepárate para usar apigeetool
Antes de comenzar, debes instalar la utilidad apigeetool.
Puedes instalar apigeetool a través de npm o clonando y vinculando el código de GitHub.
Instalación desde npm
El módulo apigeetool y sus dependencias están diseñados para Node.js y están
disponibles a través de npm con el siguiente comando:
$ sudo npm install -g apigeetool
Por lo general, la opción -g coloca módulos en:
/usr/local/lib/node_modules/apigeetool en máquinas basadas en *nix.
Instalación desde GitHub
Descarga o clona las herramientas de la plataforma de API desde GitHub. Consulta el archivo README en el directorio raíz del repositorio para obtener instrucciones de instalación.
$ git clone https://github.com/apigee/apigeetool-node.git
Cuando completes la instalación, asegúrate de que el ejecutable apigeetool esté en
tu ruta de acceso. Para probarlo, escribe lo siguiente:
$ apigeetool -h
Implementa una aplicación de Node.js en Edge con apigeetool
Nota: Antes de la implementación, deberás conocer el nombre de la organización de Apigee Edge, el nombre de usuario y la contraseña de tu cuenta de Apigee Edge. Necesitas esta información para formar correctamente
el apigeetool comando.
Para implementar una aplicación de Node.js con apigeetool, haz lo siguiente:
- En una ventana de la terminal,
cdel directorio raíz de tu aplicación de Node.js. - Ejecuta la utilidad
apigeetoolcon el comandodeploynodeapp
Por ejemplo:$ apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}
$ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
- Verifica el resultado en la ventana de la terminal. Se parecerá a esto:
Importing new application myNodeApp Imported new app revision 1 Deploying revision 1 Deployed. Proxy: "myNodeApp" Revision 1 Environment: test BasePath: /myNodeApp Status: deployed
Si ves “Status: deployed”, eso es todo. Todo salió bien. Tu app de Node.js está incluida en un proxy de API, implementada en Edge, y se ejecuta y espera para controlar las solicitudes. Está lista para probarse.
- Prueba tu proxy. Por ejemplo:
$ curl http://myorg-test.apigee.net/myNodeApp Hello, My Node App!
- Si lo deseas, accede a tu cuenta de Apigee Edge y ve a la página Proxies de API de la IU de administración. Verás tu nuevo proxy allí.
Cómo apigeetool controla los archivos y módulos dependientes
Si tu aplicación de Node.js depende de módulos instalados, apigeetool los controla comprimiendo
la carpeta node_modules y agregándola al paquete de proxy. No es necesario realizar ninguna otra acción. Lo mismo sucede con los directorios que contienen código fuente adicional. La utilidad
apigeetool los comprime y los implementa con el paquete.
No puedes editar archivos en estos directorios comprimidos en el editor de la IU de administración de Edge. Si necesitas cambiarlos, puedes exportar tu proyecto, editar los archivos de forma local y, luego, volver a implementarlos con apigeetool o importar el proyecto exportado con la IU de administración. Consulta también "Exporta e importa un proxy con código de Node.js".
Información básica de uso para apigeetool
Para obtener información básica sobre el uso de los parámetros de entrada de la utilidad apigeetool,
ingresa lo siguiente:
$ apigeetool deploynodeapp -h Usage: deploynodeapp -n [name] -o [organization] -e [environment] -d [directory name] -m [main script file] -u [username] -p [password] -b [base path] -l [apigee API url] -z [zip file] -i -h -o Apigee organization name -e Apigee environment name -n Apigee proxy name -d Apigee proxy directory -m Main script name: Should be at the top level of the directory -u Apigee user name -p Apigee password -b Base path (optional, defaults to /) -L Apigee API URL (optional, defaults to https://api.enterprise.apigee.com) -z ZIP file to save (optional for debugging) -i import only, do not deploy -R Resolve Node.js modules on Apigee Edge. Equivalent to running npm install on your project. -U Uploads Node.js modules to Apigee Edge. -h Print this message
Crea un proxy nuevo con archivos de Node.js existentes
Otra forma de integrar una aplicación de Node.js existente en un proxy de API es agregar la aplicación cuando creas el proxy. Puedes hacerlo por completo a través de la IU de administración y el diálogo Nuevo proxy de API.
- En la página de resumen del proxy de API, haz clic en +Proxy de API.
- En el diálogo Nuevo proxy de API, selecciona Node.js existente.
- Usa el botón Elegir archivos para seleccionar uno o más archivos de Node.js para importar.
- Asigna un nombre al proxy. En este ejemplo, lo llamaremos
hellonode. - Agrega la versión
/v1a la ruta base del proyecto. El control de versiones de tu API es una práctica recomendada. - Haz clic en Build.
- Haz clic en Desarrollar para ingresar a la vista Desarrollar.
- Abre el archivo
TargetEndpointen el editor de código. - Asegúrate de que el
<ScriptTarget>elemento especifique el archivo principal de Node.js, como sigue:
<ScriptTarget> <ResourceURL>node://server.js</ResourceURL> <Properties/> </ScriptTarget>
- Haz clic en Guardar.
Agrega e invoca archivos de recursos nuevos de Node.js
Otra forma de agregar código de Node.js a un proxy es agregarlo directamente, ya sea a través de la IU o subiéndolo desde tu sistema de archivos local. También puedes especificar qué archivo de Node.js es el archivo principal, que es el archivo que invoca Edge cuando se implementa el proxy.
Agrega archivos nuevos de Node.js a través de la IU
La IU de administración te permite agregar archivos fuente adicionales de Node.js a un proxy que se encuentra en la plataforma de Edge. Puedes crearlos directamente en la IU o importarlos desde tu sistema de archivos. Primero, veamos cómo hacerlo desde la IU.
Para crear un archivo de recursos nuevo de Node.js, haz lo siguiente:
- En la vista Desarrollar, selecciona Nueva secuencia de comandos en el menú Nueva.
- En el diálogo Agregar secuencia de comandos, selecciona el tipo de archivo Nodo y asígnale un nombre a la secuencia de comandos.
- Haz clic en Agregar.

El archivo nuevo y en blanco de Node.js se abre en el editor. Puedes cortar y pegar tu código en el
archivo. El archivo también aparece en la sección Secuencias de comandos del navegador.
[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]
Importa archivos de Node.js desde tu sistema de archivos
Para importar un archivo de Node.js desde tu sistema de archivos al proxy, haz lo siguiente:
- En la vista Desarrollar, selecciona Nueva secuencia de comandos en el menú Nueva.
- En el diálogo Agregar secuencia de comandos, haz clic en Importar secuencia de comandos.
- Usa la herramienta de archivos para seleccionar tu archivo de Node.js.
- El nombre del archivo se agrega al diálogo, pero puedes cambiarlo si lo deseas.
- Haz clic en Agregar. El archivo aparece en la sección Secuencias de comandos del navegador y se abre en el editor.
- Haz clic en Guardar.
Si deseas invocar el archivo importado, se requiere un paso adicional, como se explica en la siguiente sección.
Invoca un archivo de Node.js importado
No puedes invocar un archivo de Node.js recién importado o creado. El motivo es que Edge requiere que un archivo de Node.js sea el archivo principal. El archivo principal se especifica en el <ScriptTarget> elemento de la definición del extremo de destino. Para especificar qué archivo es el archivo principal de Node.js, haz lo siguiente:
- En Extremos de destino en el navegador, haz clic en el nombre del extremo de destino (por lo general, llamado predeterminado).
- En el editor de código, edita el elemento <ScriptTarget> cambiando el
<ResourceURL> para reflejar el nombre del archivo que deseas que sea el archivo principal de Node.js. Por
ejemplo, si deseas que un archivo llamado
hello-world.jssea el archivo principal, ingresanode://hello-world.jsen el elemento ResourceURL. - Haz clic en Guardar.

En este punto, puedes invocar el archivo con la ruta de acceso de proxy que usaste antes. Por ejemplo,
analizamos el ejemplo de Hello World!, en el que se especifica la ruta base v1/helloes
especificada. Sin embargo, puedes cambiar la ruta base editando el extremo de proxy.
- En Extremos de proxy en el navegador, haz clic en el nombre del extremo de proxy (por lo general, llamado predeterminado).
- En el editor de código, edita el elemento <HttpProxyConnection> cambiando el
<BasePath> al nombre que desees. Por ejemplo, si el <BasePath>
actual es
v1/helloy deseas que seav1/my-node-file, cambia el elemento <BasePath> de la siguiente manera:
<BasePath>/v1/my-node-file</BasePath>
- Haz clic en Guardar.
- Invoca el proxy con la nueva ruta base, de la siguiente manera:
$ curl http://myorg-test.apigee.net/v1/my-node-file Hello, World!
Exporta e importa un proxy con código de Node.js
Después de implementar un proxy que contiene código de Node.js en Edge, siempre puedes volver a exportar el proxy de nuevo a tu sistema, trabajar en él y, luego, volver a importarlo a Edge con la IU de administración. Este tipo de técnica de desarrollo de ida y vuelta es de uso frecuente.
- En la página de resumen del proxy de API, haz clic en Desarrollar.
- En la página Desarrollar, selecciona Descargar revisión actual.
- Descomprime el archivo descargado en tu sistema.
Para volver a importar el paquete de proxy a Edge, selecciona Importar a una revisión nueva en el mismo menú.
También puedes usar la API para implementar proxies. Consulta Implementa proxies desde la línea de comandos para obtener más detalles.
Próximos pasos
En el siguiente tema, Agrega Node.js a un proxy de API existente, explicamos cómo agregar una app de Node.js a un proxy existente en tu sistema de archivos y cómo implementarla en Edge.