Como estabelecer comunicação entre serviços

ID da região

O REGION_ID é um código abreviado que o Google atribui com base na região que você selecionou ao criar o aplicativo. O código não corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes aos códigos de país e estado geralmente usados. Para apps criados após fevereiro de 2020, o REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criados antes dessa data, o ID da região é opcional no URL.

Saiba mais sobre IDs de região.

É possível usar vários métodos para se comunicar entre seus serviços do App Engine ou com outros serviços, incluindo serviços do Google Cloud e aplicativos externos.

A abordagem mais simples para a comunicação com o serviço do App Engine é enviar solicitações HTTP segmentadas, em que o URL inclui o nome ou o ID de um recurso. Por exemplo, inclua o ID de um serviço ou versão que quer segmentar, além do ID do projeto do Google Cloud correspondente:


https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

O comprimento combinado de VERSION-dot-SERVICE-dot-PROJECT_ID, em que VERSION é o nome da versão, SERVICE é o nome do serviço e PROJECT_ID é o ID do projeto, não pode ter mais de 63 caracteres nem começar ou terminar com um hífen. Se o comprimento combinado for maior que 63 caracteres, talvez você veja o erro DNS address could not be found. .

Saiba mais sobre solicitações no App Engine:

Os serviços do App Engine também podem se comunicar por meio do Pub/Sub, que fornece mensagens de muitos para muitos confiáveis e assíncronas entre processos, incluindo o App Engine. Esses processos podem ser instâncias individuais de um aplicativo, de serviços ou até de aplicativos externos.

Para compartilhar dados entre bancos de dados e o aplicativo do App Engine ou outro aplicativo externo, consulte Noções básicas sobre armazenamento de dados e arquivos.

Comunicação particular

Comunicação entre serviços no mesmo projeto

É possível permitir que um serviço flexível do App Engine se comunique com outro serviço do App Engine no mesmo projeto sem precisar expor o serviço de destino à Internet pública.

  1. Defina as configurações de entrada do serviço de destino para permitir apenas tráfego "interno".

  2. Verifique se a versão do aplicativo de origem não está implantada em uma rede VPC compartilhada localizada em um projeto diferente.

Comunicação entre serviços em diferentes projetos

É possível ter acesso particular entre projetos do Google Cloud quando os aplicativos em execução nos projetos pertencem a uma rede VPC compartilhada configurada para invocar um aplicativo em execução no projeto host da rede VPC compartilhada.

Para usar esse padrão, siga as etapas anteriores para a comunicação entre serviços no mesmo projeto. No ambiente flexível, implante cada versão do cliente na mesma rede VPC compartilhada.

No App Engine, não são possíveis outros métodos de comunicação entre projetos usando acesso interno.

Caminhos de URL reservados

Não é possível usar os caminhos de URL a seguir:

  • Caminhos que terminam com /eventlog
  • Caminhos que começam com /_ah/
  • Alguns caminhos que terminam com z