¿Qué es Apigee Emulator?

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Apigee Emulator es una imagen de Docker personalizada que se proporciona de forma pública a los desarrolladores para implementar y probar proxies de API en un entorno de desarrollo local. Las imágenes de Docker se publican con regularidad en gcr.

Cuando estés listo para implementar y probar tu primer proxy de API, deberás usar la sección de emuladores para ver y administrar las versiones de tu emulador y el ciclo de vida de los emuladores configurados.

En esta sección, puedes hacer lo siguiente:

Detalles de la sección de emuladores

  • Visualiza las diferentes versiones de los emuladores instalados y los contenedores creados para cada versión del emulador, incluida la información de Docker y del entorno de ejecución y los puertos de control y tráfico.

  • Agrega, borra, inicia, detén, restablece, y actualiza la vista de los contenedores del emulador de Apigee, como se describe en Administra el emulador de Apigee.

  • Ver las aplicaciones implementadas en este momento (consulta Implementa entornos)

  • Visualizar recursos de prueba activos (consulta Exporta recursos de prueba al emulador de Apigee)

Administrar el emulador de Apigee

Administra el emulador de Apigee como se describe en las siguientes secciones. Consulta también Explora el emulador de Apigee.

Elige la versión del emulador

De forma predeterminada, la vista del emulador muestra una versión estable. Sin embargo, es sencillo elegir una versión diferente según tus necesidades.

  1. Ve una lista de versiones del emulador de Apigee mediante uno de los siguientes métodos y anota el valor de Etiqueta:

  2. Para agregar una versión del emulador de Apigee a la extensión de Cloud Code, haz clic en Administra > Configuración y, luego, busca apigee emulators.

  3. Haz clic en Agregar elemento. Configuración del emulador

  4. Ingresa el valor de Etiqueta que obtuviste en el paso 1. Por ejemplo: 1.10.0 o google/apigee-emulator:1.10.0

  5. Haz clic en Aceptar.

  6. El emulador recién agregado aparecerá en la vista del emulador.

Instala el emulador de Apigee

Para instalar el emulador de Apigee, haz lo siguiente:

  1. Expande el elemento emuladores en Desarrollo local para ver los emuladores enumerados allí. Expandir la sección Emuladores de Apigee

  2. Coloca el cursor sobre la versión del emulador de Apigee que deseas instalar.

  3. Haga clic en Instala el emulador de Apigee.

    Instala el emulador de Apigee

    Se te solicitará que configures el contenedor del emulador de Apigee.

  4. Ingresa un nombre único para el contenedor del emulador de Apigee y presiona Intro. Ingresa caracteres alfanuméricos, guiones (-) o guiones bajos (_).

  5. Ingresa un valor numérico único para usar como puerto de control del contenedor del emulador de Apigee y presiona Intro. El puerto de control se establece de forma predeterminada en 8080.

  6. Ingresa un valor numérico único para usar como puerto de tráfico del contenedor del emulador de Apigee y presiona Intro. El puerto de tráfico predeterminado es 8998.

Se instala la imagen más reciente de la versión seleccionada del emulador de Apigee. Una vez completada la instalación, se muestra el mensaje siguiente, Emulator installed successfully, y el estado del contenedor del emulador de Apigee cambia a Listo.

Instala el emulador de Apigee

Agrega un contenedor para el emulador de Apigee

Para agregar un contenedor al emulador de Apigee mediante la IU, haz lo siguiente:

  1. Expande la sección emuladores en Desarrollo local.

    Expandir la sección Emuladores de Apigee

  2. Coloca el cursor sobre el emulador de Apigee para el que deseas agregar un contenedor.

  3. Haz clic en +. Se te solicitará configurar el contenedor.

  4. Ingresa el valor numérico que se usará como puerto de control para el contenedor del emulador de Apigee y presiona Intro. El puerto de control debe ser único en los contenedores. El valor predeterminado es 8080.

  5. Ingresa el valor numérico que se usará como puerto de tráfico para el contenedor del emulador de Apigee y presiona Intro. El puerto de tráfico debe ser único en todos los contenedores. El valor predeterminado es 8998.

  6. Ingresa un nombre único para el contenedor del emulador de Apigee y presiona Intro. Ingresa caracteres alfanuméricos, guiones (-) o guiones bajos (_).

Se agrega el contenedor.

Visualiza la información de estado del Apigee Emulator

Consulta la información de estado del emulador de Apigee como se describe en las siguientes secciones.

Usa la IU

Para ver la información de estado del emulador de Apigee, incluida su información de Docker y entorno de ejecución, expande el contenedor en la sección Emuladores de Apigee. La información que ves coincide con la versión del emulador de Apigee en uso.

Información de estado del emulador de Apigee

Usa la CLI de Docker

Si quieres ver la información del estado del contenedor para el emulador de Apigee y sus puertos configurados, ejecuta docker ps en la pestaña Terminal. Lo siguiente proporciona una respuesta de ejemplo. La respuesta real que verás depende de la versión del emulador de Apigee que se usa:

CONTAINER ID   IMAGE                                COMMAND       CREATED        STATUS        PORTS                                      NAMES
33756b8c5c5b   ...apigee-emulator:1.11.0   "/usr/bin…"   10 hours ago   Up 10 hours   7000-7001/tcp, 0.0.0.0:8080->8080/tcp...   apigee-emulator

Consulta también Personaliza el contenedor de Docker del entorno de ejecución de Apigee.

Inicia el emulador de Apigee

Inicia el emulador de Apigee como se describe en las siguientes secciones.

Usa la IU

Para iniciar el emulador de Apigee, coloca el cursor sobre el contenedor del emulador de Apigee que deseas iniciar y haz clic en Icono de inicio del emulador de Apigee.

Usa la CLI de Docker

Para iniciar el emulador de Apigee, ejecuta docker start apigee-emulator en la pestaña Terminal.

El estado configurado como Ready, se muestra a continuación:

Información de estado del emulador de Apigee

Consulta también Personaliza el contenedor de Docker del entorno de ejecución de Apigee.

Restablece el emulador de Apigee

Restablece el emulador de Apigee para quitar todas las implementaciones y los recursos de prueba exportados como se describe en las siguientes secciones.

Usa la IU

Para restablecer el emulador de Apigee, coloca el cursor sobre el contenedor del emulador de Apigee en la sección Emuladores de Apigee y haz clic en Ícono para restablecer el emulador de Apigee.

El emulador de Apigee se restablece y el estado se establece en Ready:

Información de estado del emulador de Apigee

La siguiente información se muestra en la pestaña Resultado:

Resetting the Apigee Emulator
Reset completed

Consulta también Personaliza el contenedor de Docker del entorno de ejecución de Apigee.

Reinicia el emulador de Apigee

Para reiniciar el emulador de Apigee, ejecuta docker restart container-name en la pestaña Terminal. Por ejemplo: docker restart MyContainer

A continuación, se proporciona un ejemplo de la respuesta: MyContainer

Actualiza el emulador de Apigee

Si el emulador de Apigee no está sincronizado con la versión más reciente, puedes actualizar la versión instalada mediante la IU o la CLI de Docker, como se describe en las siguientes secciones.

Usa la IU

Para actualizar el emulador de Apigee, coloca el cursor sobre el emulador de Apigee en la sección Emuladores de Apigee y haz clic en Ícono de Actualizar el emulador de Apigee.

Usa la CLI de Docker

Para actualizar el emulador de Apigee, ejecuta los siguientes comandos de Docker en la pestaña Terminal con la versión más reciente adecuada:

  • Ejecuta docker ps para obtener el nombre de la imagen. Ejemplo: gcr.io/apigee-release/hybrid/apigee-emulator:Emulator version

  • Ejecuta docker pull imagename para actualizar la imagen de instalación del emulador de Apigee. Ejemplo: docker pull gcr.io/apigee-release/hybrid/apigee-emulator:Emulator version

El emulador de Apigee se actualiza y se muestra el siguiente mensaje: Emulator version is up to date

Consulta también Personaliza el contenedor de Docker del entorno de ejecución de Apigee.

Detén el emulador de Apigee

Detén el emulador de Apigee con la IU o la CLI de Docker como se describe en las siguientes secciones.

Usa la IU

Para detener el emulador de Apigee, coloca el cursor sobre el contenedor del emulador de Apigee en la sección Emuladores de Apigee y haz clic en Ícono para detener el emulador de Apigee.

Usa la CLI de Docker

Para detener el emulador de Apigee, ejecuta docker stop apigee-emulator en la pestaña Terminal.

El emulador de Apigee se detiene y el estado se cambia a Not running:

No se está ejecutando

Consulta también Personaliza el contenedor de Docker del entorno de ejecución de Apigee.

Borra un contenedor para el emulador de Apigee

Borra un contenedor para el emulador de Apigee mediante la IU o la lista de cambios de Docker como se describe en las siguientes secciones.

Usa la IU

Para borrar el emulador de Apigee, coloca el cursor sobre el contenedor del emulador de Apigee en la sección Emuladores de Apigee y haz clic en .

Usa la CLI de Docker

Para borrar un contenedor del emulador de Apigee, ejecuta los siguientes comandos de Docker en la pestaña Terminal:

  • Ejecuta docker stop container para detener la imagen de instalación del emulador de Apigee (si aún no está detenida). Por ejemplo: docker stop MyContainer

  • Ejecuta docker rm container para detener la imagen de instalación del emulador de Apigee. Por ejemplo: docker rm MyContainer

El contenedor se borra.

Consulta también Personaliza el contenedor de Docker del entorno de ejecución de Apigee.

Personaliza el contenedor de Docker del entorno de ejecución de Apigee

Puedes personalizar la línea de comandos de Docker que se usa para controlar las instancias del emulador de Apigee mediante las siguientes opciones.

Opción Descripción
additionalArguments Agrega uno o más argumentos. Los argumentos se agregan al comando docker run exactamente como se proporcionan. La configuración predeterminada es "" (ninguna).
detached Controla si la opción --detached se usa mientras se ejecuta el contenedor. La configuración predeterminada es true.
dns Controla la marca -dns del servicio de DNS, como se describe en Servicios de DNS. La configuración predeterminada es 8.8.8.8.
environmentVariables Agrega variables de entorno al comando docker run, como se describe en Opciones. Los valores, si se proporcionan, se agregan al comando docker run mediante -e name=value. La lista predeterminada incluye "XTERM": "xterm-256color".
labels Agrega una o más etiquetas para adjuntar con el contenedor. Las etiquetas se agregan al comando docker run mediante -l label:value. La configuración predeterminada es none.
privileged Controla si se usa la opción --privileged mientras se ejecuta el contenedor. La configuración predeterminada es true.
volumes Agrega uno o más volúmenes para activar en el contenedor. Los volúmenes se agregan al comando docker run mediante -v label:value. La configuración predeterminada es none.

Para personalizar el contenedor de Docker del entorno de ejecución de Apigee, haz lo siguiente:

  1. Esta función está disponible como parte de la compilación de Insiders (v1.21.0 y versiones posteriores). Instala la compilación de Insiders, como se describe en Instala compilaciones de Insiders.

  2. Haz clic en Administra > Configuración y, luego, busca apigee docker.

  3. En Cloudcode > Apigee: Opciones de Docker, haz clic en Editar en settings.json. Las opciones personalizables se muestran en el archivo settings.json, como se indica a continuación:

    "cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {},
      "additionalArguments":""
    }
  4. Edita las opciones según sea necesario y guarda el archivo.

Personaliza el emulador de Apigee para que admita la autenticación basada en cuentas de servicio

Cuando se prueban los proxies que dependen de la autenticación basada en cuentas de servicio de Google Cloud, Apigee Emulator necesita acceso a la clave de la cuenta de servicio de Google. Sigue los pasos para configurar el emulador de Apigee a fin de que admita la autenticación basada en cuentas de servicio.

Crea y descarga la clave de la cuenta de servicio

Crea una cuenta de servicio de Google Cloud con el rol de creador de tokens de cuenta de servicio, que es un requisito para que el emulador de Apigee admita cuentas de servicio. Crea una clave para la cuenta de servicio, como se describe en Crea una clave de cuenta de servicio.

Descarga la clave al sistema de archivos local para que se pueda proporcionar al emulador de Apigee.

Configura el emulador de Apigee

Para configurar el emulador de Apigee, haz lo siguiente:

  1. Abre las opciones de Docker, como se describe en Personaliza el contenedor de Docker del entorno de ejecución de Apigee anterior.

  2. En la sección volumes de las opciones de Docker, agrega un volumen nuevo para que la ruta de la clave de la cuenta de servicio descargada esté disponible en el contenedor. Supongamos que la clave se descargó en la ruta de acceso /opt/apigee/keys/apigee-sa-key.json, la siguiente configuración activa el contenido de /opt/apigee/keys en la ruta de acceso /emulator/keys dentro del contenedor:

    "volumes": {
      "/opt/apigee/keys":"/emulator/keys"
    }
  3. En la sección environmentVariables de las opciones de Docker, agrega la variable GOOGLE_APPLICATION_CREDENTIALS que apunta al archivo en la ruta de acceso activada:

    "environmentVariables": {
      "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
    }

  4. Guarda la configuración y crea una instancia de contenedor nueva que se pueda usar para las pruebas.

En el siguiente ejemplo, se muestra cómo asociar una clave de cuenta de servicio de Google con el emulador de Apigee.

"cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color",
          "GOOGLE_APPLICATION_CREDENTIALS":"/emulator/keys/apigee-sa-key.json"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {
         "/opt/apigee/keys":"/emulator/keys"
      },
      "additionalArguments":""
    }

Configura el emulador de Apigee para que admita el proxy de reenvío HTTP

Muchas veces, solo se puede acceder a los objetivos de backend asociados con un proxy mediante un proxy de reenvío HTTP. El emulador de Apigee se puede configurar para usar el proxy de reenvío mientras se conecta a los destinos mediante una variable de entorno llamada FORWARD_PROXY.

Para configurar el emulador de Apigee, haz lo siguiente:

  1. Abre las opciones de Docker, como se describe en Personaliza el contenedor de Docker del entorno de ejecución de Apigee.

  2. En la sección environmentVariables de las opciones de Docker, agrega la variable FORWARD_PROXY que apunta a la dirección del proxy de reenvío como una URL HTTP.

    "environmentVariables": {
      "FORWARD_PROXY":"http://proxy_host:proxy_port"
    }

  3. Guarda la configuración y crea una instancia de contenedor nueva para las pruebas.