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.
Como implantar o arquivo de expedição
Para implantar e aplicar as configurações do seu arquivo de expedição ao seu ambiente do App Engine, digite o código a seguir:
gcloud app deploy dispatch.yaml
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
Para o elemento
Dica: é possível incluir padrões glob como o caractere curinga
Os caminhos do 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.
Exemplo:
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.
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.
Exemplo:
# 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
É possível criar regras para redirecionar as solicitações de domínio recebidas para um serviço. As regras a seguir encaminham as solicitações recebidas de "customer1.myapp.com" para o serviço padrão e as solicitações recebidas de subdomínios para um serviço de back-end estático.
Exemplo:
# Matches the domain name 'customer1.myapp.com' and directs all the request to default service
- url: "customer1.myapp.com/*"
service: default
# Matches all the subdomains of 'customer1.myapp.com' and directs all the request to static-backend service
- 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.