Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Como cancelar a implantação de um proxy de destinos hospedados
Quando você cancela a implantação de um proxy de borda que inclui um aplicativo de destinos hospedados, o aplicativo de destinos hospedados associado é removido, mas a imagem do aplicativo subjacente não é excluída. Se você reimplantar o proxy, o app Hosted Destinos será reimplantado.
Como excluir um proxy de destinos hospedados
Depois que você excluir um proxy de Destinos hospedados, as instâncias de ambiente de execução subjacentes deixarão de ser executadas após um período. No entanto, o código do aplicativo vai persistir.
Como acessar arquivos de registro
Os arquivos de registros são úteis para depuração e solução de problemas. É possível ver dois tipos de arquivos de registros para uma implantação de destinos hospedados:
- Registro do build: mostra a saída relacionada à implantação e à criação de um app de destinos hospedados.
- Registro do tempo de execução: mostra a saída relacionada ao app de destinos hospedados em execução. Os registros do ambiente de execução têm o escopo definido para o ambiente e mostram as informações de registro da revisão do proxy implantada no momento.
Como acessar registros pela interface do Edge
- Acesse: apigee.com/edge.
- Digite suas credenciais de login e clique em Fazer login.
- Selecione Desenvolver > Proxies de API no menu de navegação lateral.
- Selecione o proxy com os registros que você quer ver.
- Clique na guia Develop.
- Para ver o registro do build, clique em Registros da versão.
- Para ver o registro do ambiente de execução, clique em Registros do ambiente de execução.
Como acessar registros com a API
Também é possível usar uma API Edge para recuperar registros de destinos hospedados. Para mais detalhes, consulte Receber registros do Node.js em cache.
Como usar um repositório npm privado
Esta seção explica como implantar um proxy Node.js em destinos hospedados nos casos em que você usa um repositório NPM particular no seu ambiente de desenvolvimento.
O que você precisa saber sobre o uso de um repositório privado
Quando você implanta um app Node.js no Edge, todas as dependências do projeto são importadas automaticamente
como parte do processo de implantação.
Basicamente, os Destinos hospedados executa npm install
no 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 no Cloud. 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 sinalização --bundled-dependencies
em apigeetool
, o
app Node.js é enviado para os destinos hospedados, e todos os arquivos locais/particulares listados
na matriz de 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 internamente um repositório NPM público, a implantação falhará se o pacote incluir um arquivo .npmrc
ou package-lock.json
que aponta para o 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 privado
Para usar módulos fornecidos de um repositório privado do NPM, siga estas etapas:
- Faça login no npm:
npm login
- Receba um token de autenticação npm:
- Localize o .npmrc (deve estar em ~/.npmrc).
- No .npmrc, observe o token no final da linha que se parece com este:
//registry.npmjs.org/:_authToken=****
- Ou use os comandos
npm token <list | create | revoke>
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 dos mapas de chave-valor, conforme descrito abaixo.
Edge
Para acessar a página de configuração dos mapas de chave-valor usando a interface do usuário do Edge:
- Faça login em apigee.com/edge.
- Selecione Admin > Ambientes > Mapas de chave-valor na barra de navegação à esquerda.
Borda clássica (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 como uma nova entrada em cada uma das KVMs recém-criadas.
- No arquivo app.yaml, adicione uma entrada que faz referência à 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 nome em valueRef corresponde à KVM que você criou anteriormente.
- O atributo key corresponde à chave que é mapeada para o token npm que você adicionou à KVM.
- Crie um arquivo .npmrc no mesmo diretório que o package.json. O
arquivo precisa ser parecido com o seguinte:
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
. Se você não estiver usandoregistry.npmjs.org
, defina o escopo no arquivo .npmrc adicionando uma linha como esta@myscope:registry=https://mycustomregistry.example.org
Consulte também a documentação do npmrc (em inglês). - Faça upload ou atualize o proxy do Node.js com o arquivo .npmrc e os arquivos app.yaml incluídos.
- Verifique se o proxy novo ou atualizado foi implantado e funciona com o módulo de repositório particular desejado.
- Se o proxy não for implantado, verifique os registros do build para ver se houve falha na instalação do módulo npm particular. Nesse caso:
- Na guia "Desenvolvimento", verifique se o .npmrc está presente.
- Verifique se seu token é válido. Tente instalar o módulo localmente com o token presente na kvm.
- Se você estiver usando um escopo personalizado, verifique se ele está definido.
env: - name: NPM_TOKEN valueRef: name: npm_store key: private_token
Em 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 do NPM diferente, especifique-a na variável de ambiente NPM_VERSION
. Você pode 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, será usada a versão do NPM incluída no ambiente de execução especificado do Node.js.
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 seu aplicativo Node.js começa a verificar se o aplicativo está em execução no contêiner.
Por padrão, o endpoint que a Apigee espera é /health
. É possível alterar o endpoint
padrão especificando-o em uma variável de ambiente chamada
HOSTED_TARGET_HEALTH_CHECK_PATH
. Defina essa variável no arquivo de manifesto do aplicativo. Consulte Elementos do arquivo de manifesto para mais detalhes.
Não é necessário implementar um endpoint de verificação de integridade. No entanto, se você implementar um endpoint de verificação de integridade, observe o seguinte:
- Se o aplicativo for encerrado quando a Apigee alcançar o endpoint, ele não será iniciado como esperado.
- Tudo bem se o endpoint retornar um status HTTP 404 Not Found. O
/health
ouHOSTED_TARGET_HEALTH_CHECK_PATH
só é usado para verificar se o aplicativo está em execução. A resposta real é ignorada.
Alterar o local do cache do NPM
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 os destinos hospedados porque esse 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
(arquivo de manifesto)
do seu aplicativo para um diretório em /tmp
. Por 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 NPM
Por padrão, os Destinos hospedados usa npm start
para executar seu aplicativo de destino hospedado. No entanto,
na tarefa anterior, discutimos um problema com o uso do NPM, já que as versões mais recentes vão tentar usar
/root/.npm
para o cache do NPM, o que não é gravável e faz com que o destino hospedado
não seja iniciado. Embora a tarefa anterior funcione para resolver esse problema, outra opção é
executar seu aplicativo sem o NPM. Para fazer isso, use os valores command
e args
no arquivo app.yaml
(arquivo de manifesto) do aplicativo para executar o destino hospedado diretamente usando node index.js
. Por exemplo:
runtime: node application: my-express-app command: node args: - index.js env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3É possível usar o comando que você considerar adequado, e
node index.js
é apenas um
exemplo.