O que é o Apigee Emulator

Esta página aplica-se ao Apigee e ao Apigee Hybrid.

Veja a documentação do Apigee Edge.

O Apigee Emulator permite-lhe simular uma instalação do Apigee no seu ambiente de desenvolvimento local para fins de teste. O Apigee Emulator não substitui uma instalação do Apigee para testes e não tem uma funcionalidade idêntica, mas simplifica os testes a partir do ambiente de desenvolvimento local.

O Apigee Emulator está disponível como uma imagem do Docker personalizada fornecida publicamente aos programadores para implementar e testar proxies de API num ambiente de desenvolvimento local. As imagens do Docker são publicadas regularmente no gcr.

Quando estiver tudo pronto para implementar e testar o seu primeiro proxy de API, tem de usar a secção de emuladores para ver e gerir as versões dos emuladores e o ciclo de vida dos emuladores configurados.

Esta secção permite-lhe:

Secção Detalhes dos emuladores

  • Veja as diferentes versões dos emuladores instalados e os contentores criados para cada versão do emulador, incluindo as respetivas informações de tempo de execução e do Docker, bem como as portas de controlo e de tráfego.

  • Adicionar, eliminar, iniciar, parar, repor, atualizar e atualizar a vista dos contentores do Apigee Emulator, conforme descrito no artigo Gerir o Apigee Emulator.

  • Ver aplicações implementadas (consulte o artigo Implementar ambientes).

  • Ver recursos de teste ativos (consulte Exportar recursos de teste para o Apigee Emulator).

Gerir o emulador do Apigee

Faça a gestão do Apigee Emulator conforme descrito nas secções seguintes.

Escolher a versão do emulador

Por predefinição, a pasta emulator mostra uma versão estável. No entanto, pode escolher uma versão diferente com base nos seus requisitos.

  1. Veja uma lista de versões do Apigee Emulator através de um dos seguintes métodos e tome nota do valor da etiqueta:

  2. Para adicionar uma versão do Apigee Emulator à extensão Cloud Code, clique em Gerir > Definições e, de seguida, pesquise apigee emulators.

  3. Clique em Adicionar item. Definições do emulador

  4. Introduza o valor de Etiqueta obtido no passo 1. Por exemplo: 1.10.0 ou google/apigee-emulator:1.10.0

  5. Clique em OK.

  6. O emulador recém-adicionado é apresentado na pasta emulator.

Instalar o emulador do Apigee

Para instalar o Apigee Emulator:

  1. Expanda a pasta emulators no seu espaço de trabalho.

  2. Posicione o cursor sobre a versão do Apigee Emulator a instalar.

  3. Clique em Ícone do contentor do emulador do Apigee.

    Instale o contentor do emulador do Apigee

  4. Adicione um contentor seguindo as instruções em Adicionar um contentor para o Apigee

    Emulador.

A imagem mais recente da versão do Apigee Emulator selecionada está instalada. Após a conclusão da instalação, é apresentada a mensagem Emulator installed successfully e o estado do contentor do Apigee Emulator muda para Pronto.

Instale o Apigee Emulator

Adicionar um contentor para o emulador do Apigee

Para adicionar um contentor para o Apigee Emulator através da IU:

  1. Expanda a pasta emulators.

    Expanda os emuladores do Apigee

  2. Posicione o cursor sobre o Apigee Emulator ao qual quer adicionar um contentor.

  3. Clique em +.

  4. Introduza um nome exclusivo para o contentor do emulador do Apigee e prima Enter. Introduza carateres alfanuméricos, traços (-) ou sublinhados (_).

  5. Introduza o valor numérico a usar como a porta de controlo para o contentor do Apigee Emulator e prima Enter. A porta de controlo tem de ser exclusiva em todos os contentores. A predefinição é 8080.

  6. Introduza o valor numérico a usar como a porta de tráfego para o contentor do Apigee Emulator e prima Enter. A porta de tráfego tem de ser exclusiva em todos os contentores. A predefinição é 8998.

O contentor é adicionado.

Ver informações de estado do Apigee Emulator

Veja informações de estado do emulador do Apigee, conforme descrito nas secções seguintes.

Usar a IU

Para ver informações de estado do Apigee Emulator, incluindo as respetivas informações do Docker e de tempo de execução, expanda o contentor na secção emulators. As informações apresentadas correspondem à versão do Apigee Emulator em utilização.

Informações de estado do emulador do Apigee

Usar a CLI do Docker

Para ver informações sobre o estado do contentor do Apigee Emulator e as respetivas portas configuradas, execute docker ps no separador Terminal. Segue-se um exemplo de resposta. A resposta real que vê depende da versão do Apigee Emulator em utilização:

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

Consulte também o artigo Personalizar o contentor Docker do tempo de execução do Apigee.

Iniciar o emulador do Apigee

Inicie o Apigee Emulator conforme descrito nas secções seguintes.

Usar a IU

Para iniciar o emulador do Apigee, posicione o cursor sobre o contentor que quer iniciar e clique em Inicie o contentor do emulador do Apigee.

Usar a CLI do Docker

Para iniciar o Apigee Emulator, execute docker start CONTAINER_NAME

no separador Terminal.

O estado está definido como Ready:

Informações de estado do emulador do Apigee

Consulte também o artigo Personalizar o contentor Docker do tempo de execução do Apigee.

Repor o emulador do Apigee

Reponha o Apigee Emulator para remover todas as implementações e recursos de teste exportados, conforme descrito nas secções seguintes.

Usar a IU

Para repor o emulador do Apigee, posicione o cursor sobre o contentor do emulador do Apigee na secção emuladores e clique em Ícone Repor emulador do Apigee.

O emulador do Apigee é reposto e o estado é definido como Ready:

Informações de estado do emulador do Apigee

As seguintes informações são apresentadas no separador Saída:

Resetting the Apigee Emulator
Reset completed

Consulte também o artigo Personalizar o contentor Docker do tempo de execução do Apigee.

Reiniciar o emulador do Apigee

Para reiniciar o Apigee Emulator, execute docker restart CONTAINER_NAME no separador Terminal. Por exemplo: docker restart MyContainer

Atualizar o emulador do Apigee

Se o Apigee Emulator estiver dessincronizado com a versão mais recente, pode atualizar a versão instalada através da IU ou da CLI do Docker, conforme descrito nas secções seguintes.

Usar a IU

Para atualizar o Apigee Emulator, posicione o cursor sobre o Apigee Emulator na secção emuladores e clique em Atualize o ícone do Apigee Emulator.

Usar a CLI do Docker

Para atualizar o Apigee Emulator, execute os seguintes comandos do Docker no separador Terminal, usando a versão adequada mais recente:

  • Execute docker ps para obter o nome da imagem. Exemplo: gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION

  • Execute docker pull IMAGE_NAME para atualizar a imagem de instalação do Apigee Emulator. Exemplo: docker pull gcr.io/apigee-release/hybrid/apigee-emulator:EMULATOR_VERSION

O Apigee Emulator é atualizado e é apresentada a seguinte mensagem: Emulator version is up to date

Consulte também o artigo Personalizar o contentor Docker do tempo de execução do Apigee.

Parar o emulador do Apigee

Pare o emulador do Apigee através da IU ou da CLI do Docker, conforme descrito nas secções seguintes.

Usar a IU

Para parar o Apigee Emulator, posicione o cursor sobre o contentor do Apigee Emulator na secção emulators e clique em Ícone Parar emulador do Apigee.

Usar a CLI do Docker

Para parar o Apigee Emulator, execute docker stop CONTAINER_NAME no separador Terminal.

O Apigee Emulator é parado e o estado é alterado para Not running:

O emulador do Apigee não está em execução

Consulte também o artigo Personalizar o contentor Docker do tempo de execução do Apigee.

Eliminar um contentor para o emulador do Apigee

Elimine um contentor para o Apigee Emulator através da IU ou da CLI do Docker, conforme descrito nas secções seguintes.

Usar a IU

Para eliminar o Apigee Emulator, posicione o cursor sobre o contentor do Apigee Emulator na secção emulators e clique em Ícone de lixo para eliminar um contentor.

Usar a CLI do Docker

Para eliminar um contentor para o emulador do Apigee, execute os seguintes comandos do Docker no separador Terminal:

  • Execute docker stop CONTAINER_NAME para parar a imagem de instalação do Apigee Emulator (se ainda não estiver parada). Por exemplo: docker stop MyContainer

  • Execute docker rm CONTAINER_NAME para parar a imagem de instalação do Apigee Emulator. Por exemplo: docker rm MyContainer

O contentor é eliminado.

Consulte também o artigo Personalizar o contentor Docker do tempo de execução do Apigee.

Personalizar o contentor Docker do tempo de execução do Apigee

Pode personalizar a linha de comandos do Docker usada para controlar as instâncias do Apigee Emulator através das seguintes opções.

Opção Descrição
additionalArguments Adicione um ou mais argumentos. Os argumentos são adicionados ao comando docker run exatamente como foram fornecidos. A predefinição é "" (nenhum).
detached Controla se a opção --detached é usada durante a execução do contentor. A predefinição é true.
dns Controla a flag do serviço DNS -dns, conforme descrito nos serviços DNS. A predefinição é 8.8.8.8.
environmentVariables Adicione variáveis de ambiente ao comando docker run, conforme descrito em Opções. Se forem fornecidos, os valores são adicionados ao comando docker run através de -e name=value. A lista predefinida inclui "XTERM": "xterm-256color".
labels Adicione uma ou mais etiquetas a anexar ao contentor. As etiquetas são adicionadas ao comando docker run através de -l label:value. A predefinição é none.
privileged Controla se a opção --privileged é usada durante a execução do contentor. A predefinição é true.
volumes Adicione um ou mais volumes a montar no contentor. Os volumes são adicionados ao comando docker run através de -v label:value. A predefinição é none.

Para personalizar o contentor Docker do tempo de execução do Apigee:

  1. Esta funcionalidade está disponível como parte da versão Insiders (v1.21.0 e superior). Instale a versão Insiders, conforme descrito em Instalar versões Insiders.

  2. Clique em Gerir > Definições e, de seguida, pesquise apigee docker.

  3. Em Cloudcode > Apigee: Docker Options, clique em Editar em settings.json. As opções personalizáveis são apresentadas no ficheiro settings.json, conforme mostrado:

    "cloudcode.apigee.dockerOptions": {
      "environmentVariables": {
          "XTERM": "xterm-256-color"
      },
      "dns": "8.8.8.8",
      "detached": true
      "privileged": true,
      "labels": {},
      "volumes": {},
      "additionalArguments":""
    }
  4. Edite as opções e guarde o ficheiro.

Personalizar o emulador do Apigee para suportar a autenticação baseada em contas de serviço

Ao testar os proxies que dependem da autenticação Google Cloud baseada em contas de serviço, o Apigee Emulator precisa de acesso à chave da conta de serviço Google. Siga os passos para configurar o Apigee Emulator de modo a suportar a autenticação baseada em contas de serviço.

Criar e transferir a chave da conta de serviço

Crie uma Google Cloud conta de serviço com a função Criador de tokens de contas de serviço, que é um requisito para o Apigee Emulator suportar contas de serviço. Crie uma chave para a conta de serviço, conforme descrito no artigo Crie uma chave de conta de serviço.

Transfira a chave para o sistema de ficheiros local, para que possa ser fornecida ao emulador do Apigee.

Configurar o emulador do Apigee

Para configurar as definições do emulador do Apigee:

  1. Abra as opções do Docker, conforme descrito em Personalizar o Docker do tempo de execução do Apigee

    container.

  2. Na secção volumes das opções do Docker, adicione um novo volume para que o caminho da chave da conta de serviço transferida esteja disponível no contentor. Supondo que a chave foi transferida no caminho /opt/apigee/keys/apigee-sa-key.json, a seguinte definição monta o conteúdo de /opt/apigee/keys no caminho /emulator/keys no contentor:

    "volumes": {
      "/opt/apigee/keys":"/emulator/keys"
    }
  3. Na secção environmentVariables das opções do Docker, adicione a variável GOOGLE_APPLICATION_CREDENTIALS que aponta para o ficheiro no caminho montado:

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

  4. Guarde as definições e crie uma nova instância do contentor que pode ser usada para testes.

O exemplo seguinte mostra como associar uma chave de conta de serviço Google ao emulador do 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":""
    }

Configurar o emulador do Apigee para suportar o proxy de encaminhamento HTTP

Muitas vezes, os destinos de back-end associados a um proxy só podem ser alcançados através de um proxy de encaminhamento HTTP. O emulador do Apigee pode ser configurado para usar o proxy de encaminhamento ao ligar-se a alvos através de uma variável de ambiente denominada FORWARD_PROXY.

Para configurar as definições do emulador do Apigee:

  1. Abra as opções do Docker, conforme descrito em Personalizar o contentor Docker do tempo de execução do Apigee.

  2. Na secção environmentVariables das opções do Docker, adicione a variável FORWARD_PROXY que aponta para o endereço do proxy de encaminhamento como um URL HTTP

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

  3. Guarde as definições e crie uma nova instância do contentor para testes.