Arquivo de configuração dispatch.yaml

Com o arquivo 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

O arquivo dispatch.yaml pode residir em qualquer lugar no diretório do código-fonte.

Para implantar o arquivo de configuração de expedição sem alterar a versão disponibilizada atualmente, use um dos seguintes comandos no diretório que contém o arquivo de expedição, dependendo do ambiente:

gcloud

gcloud app deploy dispatch.yaml

Maven

mvn appengine:deployDispatch dispatch.yaml

Gradle

gradle appengineDeployDispatch dispatch.yaml

Ambiente de desenvolvimento integrado

Se você usa IntelliJ ou Eclipse, utilize o formulário para selecionar os arquivos de configuração individuais que serão implantados.

Para mais informações sobre os comandos de implantação, consulte Como implantar um aplicativo Java.

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 despacho 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 despacho 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`, você define o padrão de URL, que pode incluir o nome do host e o caminho do URL, não ultrapassando cem caracteres. Para o elemento `service`, especifique o nome do serviço que deve processar 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. Os caracteres Glob só podem ser especificados no início e no final do padrão. Especifique o padrão do URL entre aspas.

As regras de expedição também se aplicam aos URLs usados na configuração cron ou na configuração da fila de tarefas.

Os caminhos de URL que começam com /_ah/ não são roteados 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 é veiculado 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 despacho

Para excluir todas as regras de despacho, 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 padrão do App Engine para Java 8