Tareas de los destinos alojados

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

Anula la implementación de un proxy de destinos alojados

Cuando anulas la implementación de un proxy de Edge que incluye una aplicación de destinos alojados, la conexión Se anuló la implementación de la app de destinos alojados, pero no se borró la imagen de la aplicación subyacente. Si si vuelves a implementar el proxy, se vuelve a implementar la app de Hosted Targets.

Borra un proxy de destinos alojados

Después de borrar un proxy de destinos alojados, las instancias subyacentes del entorno de ejecución dejarán de ejecutarse en cierta cantidad de tiempo. Sin embargo, el código de la aplicación se conservará.

Accede a los archivos de registro

Los archivos de registro son útiles para depurar y solucionar problemas. Puedes ver dos tipos de archivos de registro para en una implementación de destinos alojados:

  • Registro de compilación: Muestra los resultados relacionados con la implementación y la compilación de una app de destinos alojados.
  • Registro del tiempo de ejecución: Muestra el resultado relacionado con la app de Hosted Targets en ejecución. Registros del entorno de ejecución se definen en el entorno y muestran información de registro de la revisión del proxy implementada actualmente.

Accede a los registros desde la IU de Edge

  1. Ve a apigee.com/edge
  2. Ingresa tus credenciales de acceso y haz clic en Acceder.
  3. Selecciona Desarrollo > Proxies de API en el menú de navegación lateral.
  4. Selecciona el proxy del que deseas ver los registros.
  5. Haz clic en la pestaña Develop.
  6. Para ver el registro de compilación, haz clic en Registros de compilación.
  7. Para ver el registro del entorno de ejecución, haz clic en Registros del entorno de ejecución.

Accede a los registros con la API

También puedes usar una API de Edge para recuperar registros de destinos alojados. Para obtener más información, consulta Obtén registros de Node.js almacenados en caché.

Usa un repositorio de npm privado

En esta sección, se explica cómo implementar un proxy de Node.js para destinos alojados en los casos en que usa un repositorio NPM privado en tu entorno de desarrollo.

Qué debes saber sobre usar un repositorio privado

Cuando implementas una app de Node.js en Edge, todas las dependencias del proyecto se importan automáticamente como parte del proceso de implementación. En esencia, los destinos alojados ejecutan npm install en tu código cuando se implementa. Sin embargo, si usas un repositorio de NPM privado en tu entorno de desarrollo, las dependencias no se pueden resolver en la nube. En En este caso, la solución es usar la opción --bundled-dependencies cuando uses el la herramienta de implementación apigeetool. Consulta también Implementa Node.js de tu sistema en Edge.

Cuando usas la marca --bundled-dependencies en apigeetool, tu La app de Node.js se subirá a Destinos alojados y a cualquier archivo local o privado que aparezca en la lista. en el array bundledDependencies en package.json se comprimen y se suben con el paquete.

Aunque no es una situación común, ten en cuenta que si duplicas un repositorio de NPM público de forma interna, tu implementación fallará. si tu paquete de implementación incluye un archivo .npmrc o package-lock.json que apunte a tu espejo privado. En este caso, asegúrate de omitir .npmrc o package-lock.json. del paquete de proxy que quieres implementar.

Implementa con un repositorio de NPM privado

Para usar módulos proporcionados desde un repositorio de NPM privado, sigue estos pasos:

  1. Accede a npm:
    npm login
  2. Obtén un token de autenticación de npm:
    1. Localiza tu archivo .npmrc (debe estar en ~/.npmrc).
    2. En tu archivo .npmrc, anota el token al final de la línea, que se ve de la siguiente manera:

      . //registry.npmjs.org/:_authToken=****
    3. También puedes usar los comandos npm token <list | create | revoke> para enumerar, crear o revocar un token de autenticación. Ver npm-token documentación para obtener más detalles.
  3. Accede a la página de configuración de mapas de par clave-valor, como se describe a continuación.

    Edge

    Para acceder a la página de configuración de mapas de par clave-valor con la IU de Edge, sigue estos pasos:

    1. Accede a apigee.com/edge.
    2. Selecciona Administrador > Entornos > Mapas de pares clave-valor en la barra de navegación izquierda.

    Classic Edge (nube privada)

    Para acceder a la página de configuración de mapas de par clave-valor con la IU clásica de Edge, sigue estos pasos:

    1. Accede a http://ms-ip:9000, donde ms-ip es la dirección IP o el nombre de DNS del nodo del servidor de administración.
    2. Selecciona APIs > Configuración del entorno > Mapas de par clave-valor en la barra de navegación superior.
  4. Haz clic en + Mapa de par clave-valor.
  5. En el diálogo Nuevo mapa de par clave-valor, ingresa un nombre y selecciona Encriptado.
  6. Haz clic en Agregar.
  7. Agrega el token de autenticación que localizaste o creaste anteriormente como una entrada nueva en cada uno de los KVM. que acabas de crear.
  8. En tu archivo app.yaml, agrega una entrada que haga referencia al KVM y a la clave. asociada con el token de autenticación de npm. Debería verse algo similar a esto:
  9. env:
    - name: NPM_TOKEN
     valueRef:
       name: npm_store
       key: private_token

    Aquí:

    • El atributo name de nivel superior corresponde al nombre del entorno. variable que se creará.
    • El name de valueRef corresponde al KVM que creados previamente.
    • El atributo key corresponde a la clave que se asigna al token de npm que agregado al KVM.
  10. Crea un archivo .npmrc en el mismo directorio que tu package.json. Esta Debería verse similar al siguiente ejemplo:
    //registry.npmjs.org/:_authToken=${NPM_TOKEN}
    o, si no usas registry.npmjs.org, puedes configurar el alcance en el archivo .npmrc agregando una línea como esta @myscope:registry=https://mycustomregistry.example.org Consulta también la documentación de npmrc.
  11. Sube o actualiza tu proxy de Node.js con el archivo .npmrc y los archivos app.yaml incluidos.
  12. Asegúrate de que tu proxy nuevo o actualizado se implemente y funcione con el repositorio privado deseado módulo.
  13. Si el proxy no se implementa, revisa los registros de compilación para ver si falló la instalación. módulo npm privado. De ser así, debes seguir estos pasos:
    1. En la pestaña Desarrollo, asegúrate de que esté presente el archivo .npmrc.
    2. Asegúrate de que tu token sea válido (intenta instalar el módulo localmente con el token presente en kvm).
    3. Si usas un alcance personalizado, asegúrate de que esté configurado.

Especifica la versión de NPM para dependencias agrupadas

De forma predeterminada, NPM v4 se usa para instalar dependencias agrupadas en el entorno de destinos alojados. Sin embargo, si deseas usar una versión de NPM diferente, puedes especificarla en el archivo NPM_VERSION. variable de entorno. Puedes configurar esta variable en el archivo de manifiesto de la aplicación. Para obtener más información, consulta Elementos del archivo de manifiesto.

Si usas dependencias integradas y no especificas NPM_VERSION, los destinos alojados usa NPM v4 de forma predeterminada. Si no usas dependencias en paquetes, la versión de NPM que se incluye del entorno de ejecución de Node.js especificado.

Ejemplo de dependencias agrupadas

Para ver un ejemplo que demuestre la función de dependencias agrupadas con objetivos alojados, consulta Cómo crear una aplicación de Node.js con funciones alojadas mediante módulos personalizados.

Agrega un extremo de verificación de estado

Tienes la opción de implementar un extremo de verificación de estado para tu aplicación de Node.js. Apigee usa este extremo cuando tu La aplicación de Node.js comienza a verificar que se esté ejecutando en el contenedor.

De forma predeterminada, el extremo que espera Apigee es /health. Puedes cambiar la configuración de extremo, especificando el extremo en una variable de entorno llamada HOSTED_TARGET_HEALTH_CHECK_PATH Puedes establecer esta variable en el manifiesto de la aplicación . Para obtener más información, consulta Elementos del archivo de manifiesto.

No es necesario implementar un extremo de verificación de estado. Sin embargo, si implementas una verificación de estado ten en cuenta lo siguiente:

  • Si la aplicación se cierra cuando Apigee llega al extremo, la aplicación no se iniciará como se espera.
  • No hay problema si tu extremo muestra un estado HTTP 404 No encontrado. La /health o HOSTED_TARGET_HEALTH_CHECK_PATH solo se usa para verificar si la aplicación se está ejecutando. La respuesta real se ignora.

Cambia la ubicación de la caché de NPM

Las versiones más recientes de Node.js usan una versión de NPM que utiliza /root/.npm para la caché de NPM. Esta ubicación presenta un problema para los destinos alojados porque la ubicación del directorio es de solo lectura. ya que el entorno de ejecución de destino alojado usa un sistema de archivos tmpfs en el que solo se puede escribir /tmp. Para solucionar este problema, puedes configurar la variable de entorno npm_config_cache en el rango de app.yaml (el archivo de manifiesto) a un directorio dentro de /tmp. Por ejemplo:

  runtime: node
  application: my-express-app
  env:
    - name: npm_config_cache
      value: /tmp/.npm
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  

Ejecuta tu aplicación sin NPM

De forma predeterminada, Destinos alojados usa npm start para ejecutar la aplicación de destino alojado. Sin embargo, En la tarea anterior, analizamos un problema con el uso de la NPM, ya que las versiones más recientes intentarán utilizar /root/.npm para la caché de NPM, que no tiene permiso de escritura y genera el destino alojado falla al iniciarse. Si bien la tarea anterior servirá para este problema, otra opción sería para ejecutar tu aplicación sin NPM. Para ello, puedes usar command y Valores args en la columna app.yamlarchivo (el archivo de manifiesto) para ejecutar tu destino alojado directamente con node index.js. Por ejemplo:

  runtime: node
  application: my-express-app
  command: node
  args:
    - index.js
  env:
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  
Por supuesto, puedes usar el comando que consideres adecuado y node index.js es solo un ejemplo.