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.
O dispatch.yaml
permite modificar as regras de roteamento.
É possível usar dispatch.yaml
para enviar solicitações recebidas para um serviço específico
(anteriormente conhecido como módulos) com base no caminho ou nome do host no URL.
Para mais informações, consulte Como as solicitações são roteadas.
Um app pode ter apenas um arquivo dispatch.yaml
, e as regras de roteamento nesse arquivo
se aplicam a todos os serviços e versões do app.
As regras de roteamento também se aplicam aos URLs usados
em um arquivo cron
ou em uma configuração da fila de tarefas.
Como implantar o arquivo de expedição
O arquivo dispatch.yaml
precisa estar no diretório root
ou no
diretório que define o serviço padrão.
Antes de fazer a implantação do arquivo de expedição, verifique se todos os serviços definidos nesse arquivo já foram implantados no App Engine. Para implantar o arquivo dispatch.yaml
, execute o comando gcloud app deploy
no diretório que contém o dispatch.yaml
:
gcloud app deploy dispatch.yaml
Para mais informações sobre os comandos de implantação, consulte Como implantar um aplicativo Python 2.
Sintaxe
O elemento raiz no arquivo dispatch.yaml
é dispatch:
e contém uma lista de
definições de roteamento especificadas pelos subelementos a seguir.
As regras definidas por você no arquivo de expedição precisam usar padrões do URL de HTTP
que incluam a notação ".
." para separar subdomínios. URLs
definidos com a notação "-dot-
" do HTTPS não são compatíveis.
As regras de expedição dependem da ordem, e somente a primeira regra correspondente a um URL será aplicada.
Elemento | Descrição |
---|---|
service |
Especifica o nome do serviço que gerenciará as solicitações que
correspondem ao padrão |
url |
No elemento
Dica: é possível incluir padrões glob como o caractere curinga Um padrão do URL que pode incluir o nome do host e o caminho do URL. Os caracteres glob podem ser usados para corresponder a padrões. Esses caracteres só podem ser especificados no início e no final do padrão.
Os caminhos de URL que começam com |
Exemplo
Este é um exemplo de arquivo de expedição que encaminha solicitações para
https://simple-sample.uc.r.appspot.com
, e solicitações como
https://simple-sample.uc.r.appspot.com/favicon.ico
para o serviço default
. Todo o
conteúdo estático é disponibilizado a partir do serviço default
. As solicitações para dispositivos móveis, como
https://simple-sample.uc.r.appspot.com/mobile/
, são encaminhadas para um front-end de dispositivos móveis, e as solicitações de worker, como https://simple-sample.uc.r.appspot.com/work/
, são roteadas para um
back-end estático.
dispatch:
# Default service serves the typical web resources and all static resources.
- url: "*/favicon.ico"
service: default
# Default service serves simple hostname request.
- url: "simple-sample.uc.r.appspot.com/"
service: default
# Send all mobile traffic to the mobile frontend.
- url: "*/mobile/*"
service: mobile-frontend
# Send all work to the one static backend.
- url: "*/work/*"
service: static-backend
Se preferir usar as regras gerais de encaminhamento que correspondam a várias solicitações possíveis, defini elas com escopos mais amplos. Por exemplo:
# Send any path that begins with “simple-sample.uc.r.appspot.com/mobile” to the mobile-frontend service.
- url: "simple-sample.uc.r.appspot.com/mobile*"
service: mobile-frontend
# Send any domain/sub-domain with a path that starts with “work” to the static backend service.
- url: "*/work*"
service: static-backend
Você também pode escrever expressões mais restritivas:
# Matches the path "/fun", but not "/fun2" or "/fun/other"
- url: "*/fun"
service: mobile-frontend
# Matches the hostname 'customer1.myapp.com', but not '1.customer1.myapp.com.
- url: "customer1.myapp.com/*"
service: static-backend
Limites
O arquivo de expedição pode conter até 20 regras de roteamento. Quando você especificar a string do URL, nem o nome do host nem o caminho podem ter mais de 100 caracteres.
Como excluir todas as regras de expedição
Para excluir todas as regras de expedição:
Edite o conteúdo do arquivo
dispatch.yaml
para:dispatch: []
Implante o arquivo
dispatch.yaml
no App Engine.