Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Límites de variables de entorno
Los destinos alojados limitan el tamaño y la cantidad de variables de entorno que puedes configurar en el entorno de ejecución de objetivos alojados.
- 1,000: Longitud máxima de una única variable de entorno.
- 100: Cantidad máxima de variables de entorno que puedes establecer.
Para obtener información sobre la configuración de variables de entorno, consulta El archivo de manifiesto.
Variables de entorno configuradas en el entorno de ejecución de la aplicación
Cuando implementas una aplicación de destinos alojados, se configuran las siguientes variables de entorno que están disponibles para tu aplicación en el tiempo de ejecución:
APIGEE_ENVIRONMENT
: Es el entorno en el que se implementa el proxy de destino alojado.APIGEE_ORGANIZATION
: Es la organización en la que se implementa el proxy de destino alojado.PORT
: Es el puerto en el que debe escuchar la aplicación de destino alojada.
Asignación de recursos del sistema
Cada instancia de destinos alojados recibe los siguientes recursos:
- 256 MB de memoria
- CPU de 1.2 GHz
Escalamiento
En esta sección, se describe cómo se escalan las aplicaciones de destinos alojados, según el tipo de cuenta de Edge. que tienes.- Una versión de prueba de Apigee Edge tiene un límite de una instancia de destinos alojados por proxy.
- Las cuentas pagadas de Apigee Edge reciben ajuste de escala automático según el porcentaje de solicitudes, las latencias de respuesta,
y otras métricas de las aplicaciones por proxy.
- Las apps de destinos alojados implementadas en las versiones pagadas y de prueba de Apigee Edge reducen la escala a cero durante los períodos de inactividad. En este caso, es posible que notes tiempos de respuesta más lentos durante un período breve. Consulta también Problemas conocidos
El archivo de manifiesto
A fin de recopilar información sobre el entorno de ejecución para compilar e implementar la aplicación alojada, Edge busca un archivo de manifiesto llamado app.yaml en el directorio resources/authenticated. Este archivo contiene información necesaria para compilar e implementar la aplicación Hosted Targets.
Sintaxis del archivo menor
runtime: node runtimeVersion: version_number command: command_name args: argument_array env: - name: variable_name value: literal_value - name: variable_name valueRef: name: kvm_name key: kvm_value
Elementos del archivo de manifiesto
Un archivo de manifiesto app.yaml incluye estos elementos:
- runtime (obligatorio): Especifica el tipo de aplicación que se implementa.
Debes especificar
node
. - runtimeVersion (opcional): Es la versión del entorno de ejecución que usa tu aplicación. Configuración predeterminada: Node.js LTS (v10.x). Consulta el repositorio oficial de Docker para Node. para otras opciones.
- command: (opcional) te permite especificar un comando para ejecutar que no sea la
predeterminado que se usa para iniciar la aplicación. Predeterminada:
Node.js=npm
- args: (opcional): Arreglo de argumentos de la línea de comandos que se deben pasar al
(especificada en la sintaxis estándar del array YAML). Por lo general, estos se agregan al comando predeterminado.
La configuración predeterminada es start. Por ejemplo, de forma predeterminada, la app de Node.js recibirá el comando
npm start
- env: Opcional: Un array de variables de entorno (pares nombre/valor) que se debe establecer en el entorno de ejecución de objetivos alojados. Estas variables están disponibles para tu la app de objetivos alojados.
- nombre: Es el nombre de la variable.
- valor | valueRef: Tiene dos opciones. Puedes establecer un valor literal
o hacer referencia a un valor almacenado en un mapa de par clave-valor. El mapa de par clave-valor debe
ya existen en tu entorno de Edge. Consulta Cómo trabajar con mapas de par clave-valor.
- Si usas value, entonces debes
especifica una variable
name
y unvalue
literal. Por ejemplo:runtime: node env: - name: NODE_ENV value: production
- Si usas valueRef,
Debes proporcionar el nombre de un mapa de par clave-valor (KVM) que creaste anteriormente en Edge y una clave.
Por ejemplo:
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
- Si usas value, entonces debes
especifica una variable
- apigeetool: Línea de comandos para implementar proxies perimetrales.
- get_token: Es una herramienta de línea de comandos para obtener un token de autorización que requiere Apigeetool.
- En un navegador, dirígete a https://github.com/apigee/api-platform-samples.
- Haz clic en Clone or download y extrae el repositorio a tu sistema local con tu método preferido.
- cd a <your install dir>/api-platform-samples/doc-samples/located-targets
- Cuando se descargue el repositorio, puedes dirigirte a cualquiera de los directorios de ejemplo con el comando cd y seguir las Instrucciones README para implementar un proxy de muestra en Edge. El comando de implementación se muestra a continuación. Simply Reemplaza los parámetros indicados por los de tu cuenta de Apigee:
- Latencias de red: Ahora que la aplicación de Node.js ya no se ejecuta En la JVM de MP, ahora hay un salto de red entre el MP y la implementación. Por supuesto, esto tiene un costo, pero las comparativas iniciales muestran que funciona dentro de un importe razonable
- Respuestas lentas de la API: La infraestructura que ejecuta tus aplicaciones escala automáticamente según las necesidades. Esto significa que tu aplicación en realidad puede reducir la escala verticalmente a ninguna instancia. Si ese es el caso, la siguiente solicitud a la API demorará un poco más solicitudes típicas a la API, ya que la infraestructura inicia las instancias para procesar la solicitudes.
- Error de implementación: Si recibes un error de implementación cuando implementas un Proxy de destinos alojados, intenta volver a implementarlo. En algunos casos, es posible que se agote el tiempo de espera de la implementación y, si vuelves a implementarla, el problema se resolverá solo.
Ejemplos de archivos de manifiesto
Esta sección contiene archivos de manifiesto de ejemplo para Node.js
aplicaciones. Se requiere un archivo de manifiesto para implementar una app de Hosted Targets, y debe estar ubicado
en el directorio apiproxy/resources/hosted
, y el nombre del archivo debe ser app.yaml
.
A continuación, se muestran archivos app.yaml
(manifiesto) de ejemplo para apps de Node.js.
Ejemplo en el que se especifica una variable de entorno literal:
runtime: node
env:
- name: NODE_ENV
value: production
Ejemplo con un comando de inicio, argumentos de la línea de comandos y una variable de entorno.
runtime: node
command: ./node_modules/pm2/bin/pm2
env:
- name: NODE_ENV
value: production
args:
- app.js
Ejemplo en el que se especifica una referencia de un mapa de par clave-valor (KVM):
Para obtener más información sobre el acceso a KVM, consulta Archivo de manifiesto.
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
Aplicaciones de muestra de destinos alojados en GitHub
Apigee proporciona proxies de muestra en GitHub con aplicaciones de destinos alojados escritas en Node.js. Puedes clonar este repo y seguir las instrucciones README para implementar cualquiera de los proxies.
Requisitos previos
Para implementar los ejemplos, debes tener dos herramientas instaladas en tu sistema:
Si deseas probar muestras de forma local, también debes tener instalado Node.js.
Cómo obtener el repositorio de muestra
get_token && apigeetool deployproxy \ -o YOUR_ORGANIZATION \ -e YOUR_ENVIRONMENT \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api NAME_OF_THE_PROXY \ --directory .
Ejemplo: Cómo ejecutar una app de ejemplo
Clona el repositorio de muestras
cd ~/myhome
git clone https://github.com/apigee/api-platform-samples.git
cd ~/myhome/api-platform-samples/doc-samples/hosted-targets
cd node-hosted-hello
Prueba la aplicación de forma local
Debes tener Node.js instalado para realizar esta prueba local.
PORT=8081 node apiproxy/resources/hosted/index.js
curl http://localhost:8081
Resultado de ejemplo:
{"date":"2018-03-12T21:45:22.161Z","msg":"Hello, World!"}
Implementa el proxy
get_token && apigeetool deployproxy \ -o myorg \ -e test \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api node-hosted-hello \ --directory .
Prueba la implementación
La implementación puede tardar unos minutos en completarse. Si recibes un error de implementación, ejecuta el comando de implementación nuevamente.
curl http://myorg-test.apigee.net/node-hosted-hello
Resultado de ejemplo:
{"date":"2018-03-23T18:59:18.668Z","msg":"Hello, World!"