Implementa una app independiente de Node.js

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

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 del código de Node.js en Apigee Edge

Puedes implementar una aplicación API de Node.js existente, incluidos los módulos de Node.js dependientes, de tu sistema local a 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 lo implementa en Edge.

Por ejemplo, supongamos que usaste Express para crear una aplicación web en Node.js. El aplicación se ejecuta como un servidor HTTP que escucha las solicitudes HTTP, las procesa devuelve datos, etcétera. Cuando usas apigeetool para implementar una instancia de Node.js aplicación a Edge, se une a un proxy y se ejecuta dentro del contexto del perímetro plataforma. Luego, puedes llamar a tu aplicación a través de su nueva URL de proxy y puedes agregar un valor a "viértelo" con funciones estándar de Edge como seguridad OAuth, políticas de cuotas, como políticas de protección, flujos condicionales, almacenamiento en caché, entre otros.

¿Qué hace Apigeetool?

Cuando ejecutas la utilidad apigeetool con la opción deploynodeapp, de la siguiente manera:

  • 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 cualquier paquete de Node.js instalado con NPM (Node.js módulos empaquetados).
  • Importa el paquete de configuración del proxy de API a la organización especificada en Apigee Edge. con la API de Edge Management.
  • Implementa el proxy de API en un entorno.
  • Ejecuta la aplicación de Node.js en Apigee Edge y hace que esté disponible en el en cada red.

Prepárate para usar Apigeetool

Antes de comenzar, debes instalar la utilidad apigeetool.

Puede instalar Apigeetool a través de npm o clonando y vinculando el código desde GitHub.

Instalación desde npm

El módulo apigeetool y sus dependencias están diseñados para Node.js y se disponibles a través de npm con el siguiente comando:

$ sudo npm install -g apigeetool

Por lo general, la opción -g coloca los 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 la del repositorio raíz para obtener instrucciones de instalación.

$ git clone https://github.com/apigee/apigeetool-node.git

Cuando hayas completado la instalación, asegúrate de que el archivo ejecutable apigeetool esté en tu Camino. Para probarlo, escribe lo siguiente:

$ apigeetool -h

Implementar una aplicación de Node.js en Edge con Apigeetool

Nota: Antes de la implementación, deberás conocer tu organización de Apigee Edge de usuario, y la contraseña de tu cuenta de Apigee Cuenta de Edge. Necesitas esta información para formar correctamente el comando apigeetool

Para implementar una aplicación de Node.js con apigeetool, haz lo siguiente:

  1. En una ventana de terminal, cd el directorio raíz de tu aplicación de Node.js.
  2. Ejecuta la utilidad apigeetool con deploynodeapp comando:

    $ 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}
    
    Por ejemplo:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. Verifica el resultado en la ventana de la terminal. Tendrá un aspecto similar a este:

    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 el mensaje "Estado: implementado", eso es todo. Todo salió bien. Tu app de Node.js unido en un proxy de API, implementado en Edge, y está en ejecución y esperando para controlar solicitudes. Está listo para probarlo.

  4. Prueba el proxy. Por ejemplo:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. Si lo deseas, accede a tu cuenta de Apigee Edge y dirígete a la página Proxies de API del de administración de identidades y accesos. Verás tu proxy nuevo en la lista.

Cómo Apigeetool maneja archivos dependientes y módulos

Si tu aplicación de Node.js depende de módulos instalados, Apigeetool los administra comprimiendo la carpeta node_modules y agregarla al paquete del proxy. No se puede realizar ninguna acción adicional necesario. Lo mismo sucede con cualquier directorio que contenga código fuente adicional. El 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 apigeetool o la importación del proyecto exportado con la IU de administración. Consulta también "Importa y exporta un proxy con código de Node.js".

Información de uso básica de Apigeetool

Para obtener información de uso básica sobre 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 Node.js existente archivos

Otra forma de integrar una aplicación de Node.js existente en un proxy de API es agregar el una aplicación cuando crees el proxy. Puedes hacer esto completamente a través de la IU de administración y la Cuadro de diálogo New API Proxy.

  1. En la página de resumen del proxy de API, haz clic en + Proxy de API.
  2. En el cuadro de diálogo New API Proxy, selecciona Existing Node.js.
  3. Usa el botón Elegir archivos para seleccionar uno o más archivos Node.js que quieres importar.
  4. Asigna un nombre al proxy. En este ejemplo, lo llamamos hellonode
  5. Agrega la versión /v1 a la ruta base del proyecto. El control de versiones de tu API es lo mejor práctica.
  6. Haz clic en Build.
  7. Haz clic en Develop para ingresar a la vista Develop.
  8. Abre el archivo TargetEndpoint en el editor de código.
  9. Asegúrate de que el elemento <ScriptTarget> especifique el archivo Node.js principal, como sigue:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
    
  10. Haz clic en Guardar.

Agrega e invoca un nuevo recurso de Node.js archivos

Otra forma de agregar código de Node.js a un proxy es hacerlo directamente, ya sea a través de la IU o súbelo desde tu sistema de archivos local. También puedes especificar cuál es el archivo principal de Node.js que es el que invoca Edge cuando se implementa el proxy.

Agregando nueva Archivos de Node.js a través de la IU

La IU de administración te permite agregar archivos de origen de Node.js adicionales a un proxy que se encuentra en el perímetro plataforma. Puedes crearlos directamente en la IU o importarlos desde tu sistema de archivos. Primero, veamos cómo hacerlo desde la IU.

Para crear un nuevo archivo de recursos de Node.js, haz lo siguiente:

  1. En la vista Desarrollo, selecciona Nuevo. Secuencia de comandos en el menú Nuevo.
  2. En el diálogo Add Script, selecciona el tipo de archivo Node y asigna un nombre a la secuencia de comandos.
  3. Haz clic en Agregar.

El nuevo archivo Node.js en blanco se abrirá en el editor. Puedes cortar y pegar tu código en la . El archivo también aparecerá en la sección Scripts del navegador.

[[{&quot;type&quot;:&quot;media&quot;,&quot;view_mode&quot;:&quot;media_large&quot;,&quot;fid&quot;:&quot;2431&quot;,&quot;attributes&quot;:{&quot;alt&quot;:&quot;&quot;,&quot;class&quot;:&quot;media-image&quot;,&quot;height&quot;:&quot;312&quot;,&quot;typeof&quot;:&quot;foaf:Image&quot;,&quot;width&quot;:&quot;417&quot;}}]]

Importando Archivos Node.js de tu sistema de archivos

Para importar (import) un archivo Node.js desde tu sistema de archivos al proxy:

  1. En la vista Desarrollo, selecciona Nuevo. Secuencia de comandos en el menú Nuevo.
  2. En el cuadro de diálogo Agregar secuencia de comandos, haz clic en Importar Secuencia de comandos
  3. Usa la herramienta de archivos para seleccionar tu archivo Node.js.
  4. Se agregará el nombre del archivo al diálogo, pero puedes cambiarlo si lo deseas.
  5. Haz clic en Agregar. El archivo aparecerá en la lista de secuencias de comandos de Navigator y se abre en el editor.
  6. Haz clic en Guardar.

Si quieres invocar el archivo importado, se requiere un paso adicional, como se explica en el siguiente sección.

Cómo invocar un archivo de Node.js importado

No puedes simplemente invocar un archivo Node.js recién importado o creado. Esto se debe a que Edge requiere que un archivo Node.js sea el archivo principal. El archivo principal se especifica en el &lt;ScriptTarget&gt; de la definición del extremo de destino. Para especificar cuál es el archivo principal Node.js, haz lo siguiente:

  1. En Target Endpoints en el navegador, haz clic en el nombre del extremo de destino (generalmente, llamada default).
  2. En el editor de código, edite el recurso <ScriptTarget> elemento con solo cambiar el &lt;ResourceURL&gt; para reflejar el nombre del archivo que deseas que sea el archivo principal de Node.js. Para Por ejemplo, si quieres que un archivo llamado hello-world.js sea el archivo principal, debes ingresar node://hello-world.js en el elemento ResourceURL.
  3. Haz clic en Guardar.

En este punto, puedes invocar el archivo con la ruta de acceso del proxy que usaste antes. Por ejemplo: estuvimos observando Hello World! ejemplo, donde la ruta base v1/hello es especificada. Sin embargo, puede cambiar la ruta base editando el extremo del proxy.

  1. En Extremos del proxy en el navegador, haz clic en el nombre del extremo del proxy (normalmente llamada default).
  2. En el editor de código, edita <HttpProxyConnection> elemento con solo cambiar el &lt;BasePath&gt; con el nombre que quieras. Por ejemplo, si la <BasePath> actual es v1/hello y querías que fuera v1/my-node-file, cambia la variable <BasePath> elemento como este:

    &lt;BasePath&gt;/v1/my-node-file&lt;/BasePath&gt;
  3. Haz clic en Guardar.
  4. Invoca el proxy con la ruta base nueva de la siguiente manera:

    $ curl http://myorg-test.apigee.net/v1/my-node-file
    Hello, World!
    

Importa y exporta un proxy con código de Node.js

Después de implementar un proxy que contiene código de Node.js en Edge, puedes volver a exportar el proxy al sistema, trabajar en él allí y, luego, volver a importarlo a Edge usando la IU de administración. Esta de desarrollo de ida y vuelta.

  1. En la página de resumen del proxy de API, haz clic en Develop.
  2. En la página Desarrollo, selecciona Descargar revisión actual.
  3. Descomprime el archivo descargado en tu sistema.

Para importar el paquete de proxy de nuevo a Edge, selecciona Import Into New Revisión en el mismo menú.

También puedes usar la API para implementar proxies. Consulta Implementa proxies desde el comando line para obtener más información.

Próximos pasos

En el siguiente tema, Agregar Node.js a un proxy de API existente, explicamos cómo agregar una app de Node.js a una API existente proxy en tu sistema de archivos y, luego, implementarlo en Edge.