Você está visualizando 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 subjacente do aplicativo não é excluída. Se você reimplantar o proxy, o app de destino hospedado será reimplantado.
Como excluir um proxy de destino hospedado
Depois de excluir um proxy de destino hospedado, as instâncias de execução subjacentes vão parar de ser executadas em algum tempo. No entanto, o código do aplicativo será mantido.
Como acessar arquivos de registro
Os arquivos de registro são úteis para depuração e solução de problemas. É possível conferir dois tipos de arquivos de registro para uma implantação de destino hospedado:
- Registro da versão: mostra a saída relacionada à implantação e à criação de um app de destinos hospedados.
- Registro do ambiente 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 como escopo o ambiente e mostram informações de registro da revisão do proxy implantada no momento.
Como acessar registros na interface do Edge
- Acesse: apigee.com/edge
- Digite suas credenciais de login e clique em Fazer login.
- Selecione Develop > API Proxies no menu de navegação lateral.
- Selecione o proxy para o qual você quer acessar os registros.
- Clique na guia Desenvolver.
- Para ver o registro do build, clique em Registros do build.
- Para conferir o registro de execução, clique em Registros 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 Acessar registros do Node.js em cache.
Como usar um repositório npm particular
Esta seção explica como implantar um proxy Node.js em destinos hospedados nos casos em que você usa um repositório particular do NPM no 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.
Essencialmente, os destinos hospedados executam npm install
no seu código quando ele é implantado.
No entanto, se você usar um repositório particular do NPM 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
quando você utiliza o utilitário de implantação apigeetool. Consulte também Implantar o Node.js do seu sistema para o Edge.
Quando você usa a flag --bundled-dependencies
em apigeetool
, o
aplicativo Node.js é enviado para os destinos hospedados, e todos os arquivos locais/privados listados
na matriz bundledDependencies
em package.json
são compactados e enviados com o pacote.
Embora não seja uma situação comum, esteja ciente de que, se você espelhar internamente um repositório NPM público, a implantação falhará se o pacote de implantação incluir um arquivo .npmrc
ou package-lock.json
que aponte para o espelho particular. Nesse caso, omita .npmrc
ou package-lock.json
do pacote de proxy que você pretende implantar.
Implantação com um repositório NPM particular
Para usar módulos fornecidos de um repositório NPM privado, siga estas etapas:
- Faça login no npm:
npm login
- Receba um token de autenticação npm:
- Localize o arquivo .npmrc. Ele deve estar em ~/.npmrc.
- Em seu .npmrc, anote o token no final da linha que tem esta aparência:
//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 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 dos mapas de chave-valor usando a IU 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 > Environment Configuration > Key-Value Maps 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 uma das KVMs que você 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 chave corresponde à chave que é mapeada para o token npm que você adicionou ao KVM.
- Crie um arquivo .npmrc no mesmo diretório que seu package.json. Esse
arquivo será semelhante a este:
//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. - Faça upload ou atualize seu proxy 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 do repositório privado desejado.
- Se o proxy não for implantado, verifique os registros de build para saber se houve falha na instalação do módulo npm particular. 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_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 destino hospedado.
No entanto, para usar uma versão diferente do NPM, especifique-a na variável de ambiente NPM_VERSION
. É 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
, o Hosted Targets
vai usar 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 em pacote
Para ver 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 começa a verificar se ele está ativo no contêiner.
Por padrão, o endpoint esperado pela Apigee é /health
. Para alterar o endpoint padrão, especifique-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.
Não é necessário implementar um endpoint de verificação de integridade. No entanto, se você implementar um endpoint de verificação de integridade, considere o seguinte:
- Se o aplicativo sair quando o Apigee atingir o endpoint, ele não será iniciado conforme o esperado.
- Tudo bem se o endpoint retornar um status HTTP 404 Not Found. O
/health
ouHOSTED_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 runtime do 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
(o 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 o NPM
Por padrão, os destinos hospedados usam npm start
para executar seu aplicativo de destino hospedado. No entanto,
na tarefa anterior, discutimos um problema com o uso do NPM, porque as versões mais recentes tentarão usar
/root/.npm
para o cache do NPM, o que é inviável e resulta na falha do destino hospedado
ao iniciar. Embora a tarefa anterior funcione para esse problema, outra opção seria
executar o aplicativo sem o NPM. Para fazer isso, use os valores command
e
args
no
arquivo app.yaml
(o arquivo de manifesto)
do seu app
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É claro que você pode usar o comando que achar adequado, e
node index.js
é apenas um
exemplo.