Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
Como cancelar a implantação de um proxy de destinos hospedados
Quando você cancela a implantação de um proxy do Edge que inclui um aplicativo de destinos hospedados, o app associado é cancelado, mas a imagem do aplicativo subjacente não é excluída. Se você reimplantar o proxy, o app de destinos hospedados será reimplantado.
Como excluir um proxy de destinos hospedados
Depois de excluir um proxy de destinos hospedados, as instâncias de ambiente de execução subjacentes vão parar de ser executadas em algum tempo. No entanto, o código do aplicativo vai persistir.
Como acessar arquivos de registro
Os arquivos de registro são úteis para depuração e solução de problemas. É possível visualizar dois tipos de arquivos de registro para uma implantação de destinos hospedados:
- Registro de build : mostra a saída relacionada à implantação e à criação de um app de destinos hospedados.
- Registro de ambiente de execução : mostra a saída relacionada ao app de destinos hospedados em execução. Os registros de ambiente de execução são definidos para o ambiente e mostram informações de registro da revisão de proxy implantada no momento.
Como acessar registros na interface do Edge
- Acesse: apigee.com/edge
- Insira suas credenciais de login e clique em Fazer login.
- Selecione Desenvolver > Proxies de API no menu de navegação lateral.
- Selecione o proxy para o qual você quer visualizar os registros.
- Clique na guia Desenvolver.
- Para conferir o registro de build, clique em Registros de build.
- Para conferir o registro de ambiente de execução, clique em Registros de ambiente de execução.
Como acessar registros com a API
Também é possível usar uma API do Edge para recuperar registros de destinos hospedados. Para mais detalhes, consulte Receber registros do Node.js em cache.
Como usar um repositório npm particular
Esta seção explica como implantar um proxy do Node.js em destinos hospedados nos casos em que você usa um repositório npm particular no ambiente de desenvolvimento.
O que você precisa saber sobre como usar um repositório particular
Ao implantar um app Node.js no Edge, todas as dependências do projeto são importadas automaticamente
como parte do processo de implantação.
Essencialmente, os destinos hospedados executam npm install no seu código quando ele é implantado.
No entanto, se você usar um repositório npm particular no ambiente de desenvolvimento, as dependências particulares
não poderão ser resolvidas na nuvem. Nesse caso, a solução é usar a opção --bundled-dependencies ao usar o utilitário de implantação apigeetool. Consulte também
Implantar o Node.js do seu sistema no Edge.
Quando você usa a flag --bundled-dependencies no apigeetool, o app Node.js é enviado para destinos hospedados, e todos os arquivos locais/particulares listados na matriz bundledDependencies em package.json são compactados e enviados com o pacote.
Embora não seja uma situação comum, saiba que, se você espelhar um repositório npm público internamente, a implantação vai falhar
se o pacote de implantação incluir um arquivo .npmrc ou package-lock.json que aponte
para seu espelho particular. Nesse caso, omita .npmrc ou package-lock.json
do pacote de proxy que você pretende implantar.
Como implantar com um repositório npm particular
Para usar módulos fornecidos por um repositório npm particular, siga estas etapas:
- Faça login no npm:
npm login
- Receba um token de autenticação do npm:
- Localize o .npmrc (deve estar em ~/.npmrc).
- No .npmrc, anote o token no final da linha que se parece com esta:
//registry.npmjs.org/:_authToken=**** - Ou use os
npm token <list | create | revoke>comandos para listar, criar ou revogar um token de autenticação. Consulte a documentação do npm-token para mais detalhes. - Acesse a página de configuração de mapas de chave-valor, conforme descrito abaixo.
Edge
Para acessar a página de configuração de mapas de chave-valor usando a interface do Edge:
- Faça login em apigee.com/edge.
- Selecione Administrador > Ambientes > Mapas de chave-valor na barra de navegação à esquerda.
Edge clássico (nuvem privada)
Para acessar a página de configuração de mapas de chave-valor usando a interface clássica do Edge:
- Faça login em
http://ms-ip:9000, em que ms-ip é o endereço IP ou o nome DNS do nó do servidor de gerenciamento. - Selecione APIs > Configuração do ambiente > Mapas de chave-valor na barra de navegação superior.
- Clique em + Mapa de chave-valor.
- Na caixa de diálogo "Novo mapa de chave-valor", insira um nome e selecione Criptografado.
- Clique em Adicionar.
- Adicione o token de autenticação que você localizou ou criou anteriormente como uma nova entrada em cada um dos KVMs que acabou de criar.
- No arquivo app.yaml , adicione uma entrada que faça referência ao KVM e à chave associada ao token de autenticação do npm. O código será semelhante a este:
- O atributo name de nível superior corresponde ao nome da variável de ambiente que será criada.
- O name em valueRef corresponde ao KVM que você criou anteriormente.
- O atributo key corresponde à chave que é mapeada para o token npm que você adicionou ao KVM.
- Crie um arquivo .npmrc no mesmo diretório do package.json. Esse
arquivo deve ser semelhante a este:
ou, se você não estiver usando//registry.npmjs.org/:_authToken=${NPM_TOKEN}registry.npmjs.orgvocê pode definir o escopo no arquivo .npmrc adicionando uma linha como esta@myscope:registry=https://mycustomregistry.example.orgConsulte também a documentação do npmrc. - Faça o upload ou atualize o proxy do Node.js com os arquivos .npmrc e app.yaml incluídos.
- Verifique se o proxy novo ou atualizado é implantado e funciona com o módulo de repositório particular desejado módulo.
- Se o proxy não for implantado, verifique os registros de build para saber se a instalação do módulo npm particular falhou. Nesse caso:
- Na guia "Desenvolver", verifique se o .npmrc está presente.
- Verifique se o token é válido (tente instalar o módulo localmente com o token presente no KVM).
- Se você estiver usando um escopo personalizado, verifique se ele está definido.
env:
- name: NPM_TOKEN
valueRef:
name: npm_store
key: private_tokenEm que:
Como especificar a versão do npm para dependências agrupadas
Por padrão, o npm v4 é usado para instalar dependências agrupadas no ambiente de destinos hospedados.
No entanto, se você quiser usar uma versão diferente do npm, especifique-a na NPM_VERSION
variável de ambiente. É possível definir essa variável no arquivo de manifesto do aplicativo. Consulte Elementos do arquivo de manifesto para mais detalhes.
Se você usar dependências agrupadas e não especificar NPM_VERSION, os destinos hospedados
usarão o npm v4 por padrão. Se você não usar dependências agrupadas, a versão do npm incluída
no ambiente de execução do Node.js especificado será usada.
Exemplo de dependências agrupadas
Para um exemplo que demonstra o recurso de dependências agrupadas com destinos hospedados, consulte Como criar um aplicativo Node.js com funções hospedadas usando módulos personalizados.Adicionar um endpoint de verificação de integridade
Você tem a opção de implementar um endpoint de verificação de integridade para seu aplicativo Node.js. A Apigee usa esse endpoint quando o aplicativo Node.js é iniciado para verificar se ele está em funcionamento no contêiner.
Por padrão, o endpoint esperado pela Apigee é /health. É possível mudar o endpoint padrão
especificando-o em uma variável de ambiente chamada
HOSTED_TARGET_HEALTH_CHECK_PATH. É possível definir essa variável no arquivo de manifesto do aplicativo. Consulte Elementos do arquivo de manifesto para mais detalhes.
A implementação de um endpoint de verificação de integridade não é obrigatória. No entanto, se você implementar um endpoint de verificação de integridade, observe o seguinte:
- Se o aplicativo for encerrado quando a Apigee atingir o endpoint, ele não será iniciado conforme o esperado.
- Não há problema se o endpoint retornar um status HTTP 404 "Não encontrado". O
/healthouHOSTED_TARGET_HEALTH_CHECK_PATHé usado apenas para verificar se o aplicativo está em execução. A resposta real é ignorada.
Mudar o local do cache do npm
As versões mais recentes do Node.js usam uma versão do npm que usa /root/.npm para o cache do npm.
Esse local apresenta um problema para destinos hospedados porque o local do diretório é somente leitura
já que o ambiente de execução de destino hospedado usa um sistema de arquivos tmpfs em que apenas /tmp é gravável.
Para contornar esse problema, defina a variável de ambiente npm_config_cache no arquivo app.yaml do aplicativo (o arquivo de manifesto) para um diretório em /tmp. Exemplo:
runtime: node
application: my-express-app
env:
- name: npm_config_cache
value: /tmp/.npm
- name: NODE_ENV
value: production
- name: LOG_LEVEL
value: 3
Executar o aplicativo sem o npm
Por padrão, os destinos hospedados usam npm start para executar o aplicativo de destino hospedado. Mas
na tarefa anterior, discutimos um problema com o uso do npm, já que as versões mais recentes tentam usar
/root/.npm para o cache do npm, que não é gravável e resulta na falha de inicialização do destino hospedado. Embora a tarefa anterior funcione em torno desse problema, outra opção seria
executar o aplicativo sem o npm. Para fazer isso, use os valores command e
args no arquivo app.yaml do aplicativo (o arquivo de manifesto)
para executar o destino hospedado diretamente usando node index.js. Exemplo:
runtime: node
application: my-express-app
command: node
args:
- index.js
env:
- name: NODE_ENV
value: production
- name: LOG_LEVEL
value: 3
node index.js é apenas um
exemplo.