ID da região
O REGION_ID
é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após
fevereiro de 2020, REGION_ID.r
está incluído nos
URLs do App Engine. Para apps existentes criadas antes desta data, o
ID da região é opcional no URL.
Saiba mais acerca dos IDs de regiões.
O elemento dispatch.yaml
permite substituir as regras de
encaminhamento.
Pode usar o dispatch.yaml
para enviar pedidos recebidos para um serviço específico (anteriormente conhecido como módulos) com base no caminho ou no nome de anfitrião no URL.
Para mais informações, consulte o artigo Como os pedidos são encaminhados.
Uma app só pode ter um ficheiro dispatch.yaml
, e as regras de encaminhamento nesse ficheiro aplicam-se a todos os serviços e versões da app.
Implementar o ficheiro de envio
Para implementar e aplicar as definições de configuração do ficheiro de expedição ao seu ambiente do App Engine:
gcloud app deploy dispatch.yaml
Sintaxe
O elemento raiz no ficheiro dispatch.yaml
é dispatch:
e contém uma lista de definições de encaminhamento especificadas pelos seguintes subelementos.
As regras que define no ficheiro de expedição têm de usar padrões de URL HTTP
que incluam a notação ".
" para separar subdomínios. Os URLs definidos com a notação "-dot-
" HTTPS não são suportados.
As regras de envio dependem da ordem e apenas a primeira regra que corresponda a um URL é aplicada.
Elemento | Descrição |
---|---|
service |
Especifica o nome do serviço que vai processar os pedidos que
correspondem ao padrão |
url |
No elemento
Para o elemento
Dica: pode incluir padrões globais, como o caráter universal
Os caminhos de URL que começam por |
Exemplo
Segue-se um ficheiro de expedição de exemplo que encaminha pedidos para https://simple-sample.uc.r.appspot.com
e pedidos como https://simple-sample.uc.r.appspot.com/favicon.ico
para o serviço default
. Todo o conteúdo estático é fornecido a partir do serviço default
. Os pedidos de dispositivos móveis, como https://simple-sample.uc.r.appspot.com/mobile/
, são encaminhados para um frontend de dispositivos móveis e os pedidos de trabalhadores, como https://simple-sample.uc.r.appspot.com/work/
, são encaminhados para um backend 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 regras de encaminhamento gerais que correspondam a muitos pedidos possíveis, pode definir regras com âmbitos 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
Também pode escrever expressões mais rigorosas.
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
Pode criar regras para redirecionar os pedidos de domínio recebidos para um serviço. As seguintes regras encaminham os pedidos recebidos de "customer1.myapp.com" para o serviço predefinido e os pedidos recebidos 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 ficheiro de expedição pode conter até 20 regras de encaminhamento. Quando especificar a string do URL, nem o nome do anfitrião nem o caminho podem ter mais de 100 carateres.
A eliminar todas as regras de envio
Para eliminar todas as regras de envio:
Edite o conteúdo do ficheiro
dispatch.yaml
para:dispatch: []
Implemente o ficheiro
dispatch.yaml
no App Engine.