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ódulos) com base no caminho ou nome do host no URL.

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

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 incluem 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 que correspondem ao padrão url. Anteriormente, os serviços eram chamados de módulos.

url

No elemento `url`, defina o padrão do URL entre aspas. Ele também 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 deve processar as solicitações recebidas correspondentes ao padrão do URL do elemento `url`.

Dica: você pode 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 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 despacho que encaminha 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 no 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 preferir usar as regras gerais de roteamento que aceitem várias solicitações possíveis, defina-as 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 despacho pode conter até 20 regras de roteamento. Ao 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:

  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…

Documentos do ambiente flexível do App Engine para Python