Instructivos de Hosted Targets

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

En los siguientes instructivos, se explica cómo implementar aplicaciones de Node.js en Edge con Objetivos alojados, un entorno de ejecución nativo de Node.js que aloja Apigee.

En los instructivos, se explican las siguientes tareas:

Implementa una app de Node.js en destinos alojados con la IU de Edge

En este instructivo, implementarás una app de Node.js simple en destinos alojados con Edge de la IU de Google. Cuando completes el tutorial, comprenderás la estructura básica y el contenido de un proxy de destinos alojados y cómo acceder a los archivos de registro de implementación y compilación.

Acceder

  1. Ve a apigee.com/edge
  2. Ingresa tus credenciales de acceso de Apigee para acceder.

Crea un proxy nuevo

  1. En el menú de navegación lateral, selecciona Develop > Proxies de API
  2. Haz clic en + Proxy.
  3. En la página Crear proxy, selecciona Hosted Target.
  4. Haz clic en Siguiente.
  5. En el campo Proxy Name, ingresa hello-hosted-targets.
  6. Asegúrate de que "Hello World" Muestra.
  7. Haz clic en Siguiente.
  8. En la página Seguridad, selecciona Pasar (ninguno) para la autorización.
  9. Haz clic en Siguiente.
  10. Haz clic en Siguiente.
  11. En la página Compilación, asegúrate de que el entorno de prueba esté seleccionado. Aviso que el tipo de proxy es Hosted Targets (Destinos alojados).
  12. Haz clic en Build and Deploy. La implementación del proxy puede tardar unos minutos en completarse.
  13. Después de que el proxy se haya implementado correctamente, haz clic en Ver el proxy hello- host-targets. en la parte inferior de la página.
  14. Llama al proxy de API. La forma más fácil de hacerlo es ir a Trace. pestaña, inicia un seguimiento y haz clic en Enviar. Deberías recibir un estado 200 con el siguiente código: respuesta:
    {"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}

Examina el proxy

  1. En la IU de Edge, haz clic en la pestaña Develop.
  2. En el navegador, selecciona default en Target Endpoints.
  3. En el editor de código, observa que hay un elemento secundario <HostedTarget/> vacío. debajo del elemento <TargetEndpoint>. Esta etiqueta vacía es como en los productos necesarios. Le indica a Edge que el destino del proxy es una aplicación que se implementa en el Entorno de destinos alojados.

  4. En el navegador, observa el contenido en la sección Secuencias de comandos. El Los archivos de app de Node.js se muestran en la etiqueta alojado.

  5. En la IU de Edge, examina los archivos que aparecen en alojado en Secuencias de comandos:
    • El archivo app.yaml contiene información de configuración. Por ejemplo: puedes agregar variables de entorno que estarán disponibles para la aplicación de Node.js en tiempo de ejecución. No es necesario que modifiques este archivo para este ejemplo.
    • El archivo index.js es el archivo principal de la app de Node.js.
    • Si tu app tiene algún módulo deben aparecer en el archivo package.json.

Ver archivos de registro

Los archivos de registro de la aplicación pueden ser útiles para depurar problemas que ocurren durante la fase de compilación y también en el tiempo de ejecución.

  1. En la IU de Edge, haz clic en la pestaña Develop.
  2. Para ver el registro de compilación, haz clic en Registros de compilación.
  3. Para ver el registro de implementación, haz clic en Registros del entorno de ejecución.

    También consulta lo siguiente: Accede a los archivos de registro.

Resumen

  • Implementaste una aplicación simple de Node.js en el entorno de Destinos alojados y probaste en la IU de Edge.
  • Aprendiste que un proxy de destinos alojados requiere una etiqueta vacía especial en el campo Extremo llamado <HostedTarget/>.
  • Aprendiste que Edge carga dependencias de módulos automáticamente y que las dependencias debe aparecer en el archivo package.json.
  • También aprendiste a verificar los archivos de registro de la compilación y del entorno de ejecución.

Implementa Node.js de tu sistema en Edge

Esta sección explica cómo implementar una aplicación independiente de Node.js desde tu sistema local para Destinos alojados que usen apigeetool El apigeetool empaqueta la app de Node.js en un nuevo proxy de destinos alojados y la implementa en Edge.

Instala Apigeetool

El uso de apigeetool es la forma recomendada para que los desarrolladores implementen código a Edge. Para instalar apigeetool, ejecuta el siguiente comando de NPM:

npm install -g apigeetool

Crea la app de Node.js

Para facilitar las cosas, te proporcionamos el código para una app simple de Node.js.

  1. Crea un directorio para la app de Node.js. Llama al directorio node-hosted-express.
  2. cd al directorio nuevo.
  3. Crea un archivo llamado index.js y copia el código allí.
  4. var express = require('express')
    var app = express()
    
    app.get('/', function(req, res) {
        res.json({
            hello: "Hello World!"
        })
    })
    
    app.get('/hello/:name', function(req, res) {
        var name = req.params.name
        res.json({
            hello: "hello " + name
        })
    })
    
    var server = app.listen(process.env.PORT || 9000, function() {
        console.log('Listening on port %d', server.address().port)
    })
    
  5. Crea un archivo llamado package.json y copia el código en él. Ten en cuenta que el módulo express se enumera como una dependencia.
  6. {
        "name": "hello-world",
        "version": "1.0.0",
        "main": "index.js",
        "scripts": {
            "start": "node index.js --use_strict"
        },
        "author": "",
        "license": "",
        "dependencies": {
            "express": "^4.16.0"
        }
    }
    
  7. Crea un archivo llamado app.yaml y copia este código en él:
  8. runtime: node
    runtimeVersion: 8
    application: my-express-app
    env:
      - name: NODE_ENV
        value: production
      - name: LOG_LEVEL
        value: 3
    
  9. Asegúrate de que tu directorio se vea así:
    ls
    app.yaml index.js package.json
    

Revisión de la estructura de directorios requerida para el código de la app

Tu app de Node.js debe tener la misma estructura que una app estándar de Node.js. Sin embargo, asegúrate de haber seguido estas requisitos antes de implementar con apigeetool en Edge:

  • El archivo de manifiesto app.yaml es obligatorio y debe existir en la raíz. de tu app. Para obtener más información sobre este archivo, consulta el archivo de manifiesto.
  • Se requiere un archivo package.json. Debe enumerar todas las dependencias que la aplicación.
  • No se requiere una carpeta node_modules. Edge ejecuta npm install por ti cuando se implementa la app de Node.js. Se obtiene las dependencias de package.json. El único momento en el que necesitas proporcionar node_modules es si tienes módulos personalizados que no están disponibles a través de npm.

Implementa el proxy

  1. En una terminal, usa cd para ir al directorio raíz de la aplicación de Node.js.
  2. Ejecuta apigeetool con el comando deployhostedtarget:
  3. apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username

    en el que -n es el nombre que deseas asignarle al proxy nuevo. Debe ser único dentro de la organización. Los caracteres que se pueden usar en el nombre están restringidos a lo siguiente: a-z0-9._\-$%

    Por ejemplo:

    apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com

    Para obtener más información sobre el uso de apigeetool, consulta https://github.com/apigee/apigeetool-node.

Prueba el proxy

Puedes probar el proxy con un comando cURL, con un cliente REST como Postman o en la IU de Edge. en la herramienta Trace. Este es un ejemplo de un comando cURL.

curl http://myorg-test.apigee.net/node-hosted-express
     {"date":1506992197427,"msg":"hello-world"}

Obtén los registros de compilación

Los registros de compilación muestran el resultado relacionado con la implementación y compilación de la app de Node.js. Consulta también Archivos de registro.

apigeetool getlogs -u username -o org -e env --hosted-build -n proxy-name

Por ejemplo:

apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-build -n node-hosted-express

Obtén los registros del entorno de ejecución

Los registros del entorno de ejecución muestran resultados relacionados con la app en ejecución. Los registros del entorno de ejecución se definen según el entorno. y mostrar registros para la revisión del proxy implementada actualmente. Consulta también Archivos de registro.

apigeetool getlogs -u username -o org -e env --hosted-runtime -n proxy-name

Por ejemplo:

apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-runtime -n node-hosted-express

Visualiza el proxy en la IU de Edge

Después de una implementación exitosa, puedes ver y editar tu proxy en la sección Proxies de API del IU de Edge

Migra un proxy de Node.js existente a un proxy de destinos alojados

En esta sección, se explica cómo migrar manualmente un proxy existente de la API de Edge que emplea el tradicionales Implementación de destino de Node.js en destinos alojados También se explica cómo implementar el proxy si realizaste los pasos de la migración.

Los pasos de migración conservan la estructura del proxy de API, las políticas, los flujos y otros elementos de configuración. Puedes realizar la migración en cuatro pasos, como se describe a continuación, y, luego, implementarla el proxy migrado con apigeetool.

Paso 1: Ajusta la estructura del archivo proxy

Para ajustar la estructura del archivo, el proxy de API debe estar en tu sistema de archivos local. Si el proxy está implementada en Edge, debes descargarla antes de continuar. En la configuración tradicional y en el “paquete” del proxy perimetral que incluye código de Node.js sigue esta estructura de archivos. El código de la aplicación de Node.js se coloca en el directorio resources/node:

apiproxy/
    policies/
    proxies/
    targets/
    resources/
      node/
        Your application code


Para destinos alojados, debes colocar el directorio raíz de tu app de Node.js en una llamado resources/hosted. Simplemente, crea un directorio nuevo llamado recursos/alojados y mueve el contenido de resources/node en ella. Luego, puedes borrar el directorio resources/node.

apiproxy/
     policies/
     proxies/
     targets/
     resources/
       hosted/
         Your application code

Paso 2: Agrega el archivo de manifiesto

Crea un archivo de manifiesto llamado app.yaml y colócalo en la sección apiproxy/resources/hosted.

A continuación, se incluye un archivo app.yaml de ejemplo. Especifica que el entorno de ejecución está Node.js (obligatorio). También crea una variable de entorno en el entorno de ejecución (una variable a la que puede acceder la app de Node.js). La variable de entorno es opcional y solo se muestra aquí a modo de ejemplo. Para obtener más detalles y ejemplos, consulta El archivo de manifiesto.

runtime: node
  env:
    - name: NODE_ENV
      value: production


En el siguiente ejemplo, se muestra la estructura de un proyecto de Node.js que se encuentra en la ubicación correcta en el para la implementación de destinos alojados:

apiproxy/
   resources/
      hosted/
        index.js
        node_modules/
        app.yaml
        package.json

Paso 3: Asegúrate de tener un archivo package.json

En los proxies de Edge tradicionales de Node.js, el package.json se opcional. Sin embargo, en el caso de los destinos alojados, debes proporcionar uno en el directorio apiproxy/resources/hosted. Asegúrate de que para especificar las dependencias necesarias para tu app en este archivo.

Paso 4: Modifica el extremo de destino del proxy

Un proxy tradicional de Node.js requiere una etiqueta llamada <ScriptTarget>. Debe estar presente en el archivo del extremo de destino (por lo general, /apiproxy/targets/default.xml). Para los destinos alojados, debes agregar una etiqueta vacía llamada &lt;HostedTarget/&gt;. Si hay una etiqueta ScriptTarget en el archivo, puedes quitarla. Por ejemplo:

    <?xml version="1.0" encoding="UTF-8"?>
    <TargetEndpoint name="default">
       <Description />
       <FaultRules />
       <PreFlow name="PreFlow">
          <Request />
          <Response />
       </PreFlow>
       <PostFlow name="PostFlow">
          <Request />
          <Response />
       </PostFlow>
       <Flows />
       <HostedTarget />
    </TargetEndpoint>
    

Implementa el proxy

Ahora puedes implementar el proxy con el comando apigeetool deployproxy.

  1. cd al directorio raíz de tu proxy: /apiproxy
  2. Usa este comando para implementar el proxy:
  3. apigeetool deployproxy -u username -o org -e env -n proxy-name -d .

    Por ejemplo:

    apigeetool deployproxy -u jdoe -o docs -e test -n hello-world -d .

Para obtener más información sobre el uso de apigeetool, consulta: https://github.com/apigee/apigeetool-node/blob/master/README.md.

Prueba el proxy

Puedes probar el proxy con un comando cURL, con un cliente REST como Postman o en la IU de Edge. en la herramienta Trace. Este es un ejemplo de comando cURL:

curl http://myorg-test.apigee.net/hello-world
Hello,World!