Arquivo de configuração dispatch.yaml

Com o dispatch.yaml, é possível modificar as regras de roteamento. Você pode usar o arquivo dispatch.yaml para enviar solicitações de entrada para um serviço específico (anteriormente conhecido como módulo) com base no caminho ou nome do host no URL.

Para mais informações, consulte Como as solicitações são roteadas.

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 de URL HTTP que incluam a notação "." para separar subdomínios. Os URLs definidos com a notação HTTPS "-dot-" não são compatíveis.

As regras de expedição dependem da ordem e também podem se aplicar aos URLs definidos no arquivo cron.

Elemento Descrição
service

Especifica o nome do serviço que processará as solicitações correspondentes ao padrão url. Observe que os serviços anteriormente eram chamados de módulos.

url

No elemento url, defina o padrão do URL entre aspas, que pode incluir o nome do host e o caminho do URL com até 100 caracteres. Para o elemento service, especifique o nome do serviço que você quer que processe as solicitações recebidas correspondentes ao padrão do URL do elemento url.

Dica: é possível incluir padrões glob como o caractere curinga * no elemento url. No entanto, esses padrões podem ser usados somente antes do nome do host e no final do caminho do URL.

Um padrão de URL que pode incluir o nome do host e o caminho do URL. Os caracteres glob podem ser usados para corresponder a padrões. Eles só podem ser especificados no início e no final do padrão.

Os caminhos de URL que começam com /_ah/ não são encaminhados pelo arquivo de expedição.

Exemplo

Veja a seguir uma amostra de um arquivo de expedição que roteia solicitações para http://simple-sample.appspot.com e solicitações como http://simple-sample.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 http://simple-sample.appspot.com/mobile/, são roteadas para um front-end de dispositivos móveis. As solicitações de workers, como http://simple-sample.appspot.com/work/, são roteadas para um backend 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.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 você preferir usar as regras gerais de roteamento que correspondam a várias solicitações possíveis, defina essas regras com escopos mais amplos. Por exemplo:

# Send any path that begins with “simple-sample.appspot.com/mobile” to the mobile-frontend service.
- url: "simple-sample.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, siga estas etapas:

  1. Edite o conteúdo do arquivo dispatch.yaml para:

    dispatch:
    
  2. Implante o arquivo dispatch.yaml no App Engine.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente flexível do App Engine para Go