Tarefas de destinos hospedados

Esta é a documentação do Apigee Edge.
Acesse 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 O app de destinos hospedados não é implantado, mas a imagem do aplicativo subjacente não é excluída. Se você reimplantar o proxy, o aplicativo Destinos hospedados 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 dentro de um determinado período. 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. Há dois tipos de arquivos de registro para uma implantação de destinos hospedados:

  • 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 Hosted Targets em execução. Registros do ambiente de execução têm escopo para o ambiente e mostram informações de registro da revisão do proxy implantada atualmente.

Como acessar registros pela IU do Edge

  1. Acesse: apigee.com/edge
  2. Digite suas credenciais de login e clique em Fazer login.
  3. Selecione Desenvolver > Proxies de API no menu de navegação lateral.
  4. Selecione o proxy com os registros que você quer ver.
  5. Clique na guia Desenvolver.
  6. Para ver o registro do build, clique em Registros do build. .
  7. 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 Receba registros do Node.js armazenados em cache.

Como usar um repositório npm particular

Esta seção explica como implantar um proxy Node.js em destinos hospedados usar um repositório NPM privado nos 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. Essencialmente, os destinos hospedados executam npm install no seu código quando ele é implantado. No entanto, se você usar um repositório NPM privado no seu ambiente de desenvolvimento, o dependências não podem ser resolvidas na nuvem. Em Neste caso, a solução é usar a opção --bundled-dependencies ao usar o utilitário de implantação apigeetool. Consulte também Implante o Node.js do seu sistema no Edge.

Quando você usa a sinalização --bundled-dependencies em apigeetool, sua O app Node.js será enviado para os destinos hospedados e os arquivos locais/privados listados na matriz bundledDependencies em package.json foram compactados e enviados com o pacote.

Embora não seja uma situação comum, esteja ciente de que, se você espelhar um repositório público do NPM internamente, sua implantação falhará caso o pacote de implantação inclua um arquivo .npmrc ou package-lock.json que aponte ao 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 NPM privado, siga estas etapas:

  1. Faça login no npm:
    npm login
  2. Receba um token de autenticação npm:
    1. Localize o arquivo .npmrc. Ele deve estar em ~/.npmrc.
    2. Em .npmrc, observe o token no final da linha que tem esta aparência:

      //registry.npmjs.org/:_authToken=****
    3. Ou use os comandos npm token <list | create | revoke> para listar, criar ou revogar um token de autenticação. Consulte o npm-token Documentação para saber mais detalhes.
  3. 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:

    1. Faça login em apigee.com/edge.
    2. 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 interface do Classic Edge, faça o seguinte:

    1. 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.
    2. Selecione APIs > Configuração do ambiente > Mapas de chave-valor na barra de navegação superior.
  4. Clique em + Mapa de chave-valor.
  5. Na caixa de diálogo "Novo mapa de chave-valor", insira um nome e selecione Criptografado.
  6. Clique em Adicionar.
  7. 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.
  8. No arquivo app.yaml, adicione uma entrada que faça referência à KVM e à chave associadas ao token de autenticação npm. O código será semelhante a este:
  9. env:
    - name: NPM_TOKEN
     valueRef:
       name: npm_store
       key: private_token

    Em que:

    • O atributo name de nível superior corresponde ao nome do ambiente. que será criada.
    • O name em valueRef corresponde ao KVM que você criados anteriormente.
    • O atributo key corresponde à chave associada ao token npm que você adicionados à KVM.
  10. Crie um arquivo .npmrc no mesmo diretório que seu package.json. Isso deve ser semelhante a este:
    //registry.npmjs.org/:_authToken=${NPM_TOKEN}
    Se você não usa registry.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.
  11. Faça upload ou atualize seu proxy Node.js com o arquivo .npmrc e os arquivos app.yaml incluídos.
  12. Verifique se o proxy novo ou atualizado foi implantado e funciona com o repositório particular desejado mais tarde neste módulo.
  13. Se o proxy não for implantado, verifique os registros do build para ver se falhou ao instalar o módulo npm particular. Nesse caso:
    1. Na guia "Desenvolver", verifique se o .npmrc está presente.
    2. Verifique se o token é válido. Tente instalar o módulo localmente com o token presente no kvm).
    3. Se você estiver usando um escopo personalizado, verifique se ele está definido.

Como especificar a versão do NPM para dependências agrupadas

Por padrão, o NPM v4 é usado para instalar dependências empacotadas no ambiente de destinos hospedados. No entanto, se você quiser usar uma versão diferente do NPM, especifique-a no 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 usa o NPM v4 por padrão. Se você não usar dependências empacotadas, a versão do NPM incluída no ambiente de execução do Node.js especificado.

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á em execução no contêiner.

Por padrão, o endpoint que a Apigee espera é /health. É possível alterar o padrão endpoint, especificando o endpoint em uma variável de ambiente chamada HOSTED_TARGET_HEALTH_CHECK_PATH: É possível definir essa variável no 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 uma verificação de integridade endpoint, observe o seguinte:

  • Se o aplicativo for fechado quando a Apigee alcançar o endpoint, ele não será iniciado conforme o esperado.
  • Tudo bem se o endpoint retornar um status HTTP 404 Not Found. A solicitação /health ou O HOSTED_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

As versões mais recentes do Node.js usam uma versão do NPM que usa /root/.npm para o cache do NPM. Este local apresenta um problema para destinos hospedados porque ele é 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 do seu aplicativo app.yaml (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 seu aplicativo de destino hospedado. Mas na tarefa anterior, discutimos um problema no uso do NPM, porque as versões mais recentes tentarão usar /root/.npm para o cache do NPM, que é não gravável e resulta no seu destino hospedado. falha ao iniciar. Embora a tarefa anterior funcione com esse problema, outra opção seria executar seu aplicativo sem o NPM. Para fazer isso, você pode usar os métodos command e valores args no arquivo arquivo app.yaml (o arquivo de manifesto) para executar seu 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
  
É claro que você pode usar qualquer comando que achar adequado, e node index.js é apenas uma exemplo.