ID de región
El REGION_ID
es un código abreviado que Google asigna en función de la región que selecciones al crear tu aplicación. El código no corresponde a un país o provincia, aunque algunos IDs de región pueden parecerse a los códigos de país y provincia que se usan habitualmente. En las aplicaciones creadas después de febrero del 2020, REGION_ID.r
se incluye en las URLs de App Engine. En las aplicaciones creadas antes de esa fecha, el ID de región es opcional en la URL.
La dispatch.yaml
te permite anular las reglas de enrutamiento.
Puedes usar dispatch.yaml
para enviar solicitudes entrantes a un servicio específico (antes conocido como módulos) en función de la ruta o el nombre de host de la URL.
Para obtener más información, consulta Cómo se enrutan las solicitudes.
Una aplicación solo puede tener un archivo dispatch.yaml
, y las reglas de enrutamiento de ese archivo se aplican a todos los servicios y versiones de la aplicación.
Las reglas de enrutamiento también se aplican a las URLs que se usan en un archivo cron.
Desplegar el archivo de envío
Antes de implementar el archivo de configuración, debes asegurarte de que todos los servicios definidos en él ya se hayan implementado en App Engine. Para implementar el archivo dispatch.yaml
, ejecuta el comando gcloud app deploy
desde el directorio que contiene el archivo dispatch.yaml
:
gcloud app deploy dispatch.yaml
Para obtener más información sobre los comandos de implementación, consulta Implementar una aplicación.
Sintaxis
El elemento raíz del archivo dispatch.yaml
es dispatch:
y contiene una lista de definiciones de rutas que se especifican mediante los siguientes subelementos.
Las reglas que definas en tu archivo de configuración deben usar patrones de URL HTTP que incluyan la notación ".
" para separar los subdominios. No se admiten las URLs definidas con la notación HTTPS "-dot-
".
Las reglas de envío dependen del orden y solo se aplicará la primera regla que coincida con una URL.
Elemento | Descripción |
---|---|
service |
Especifica el nombre del servicio que gestionará las solicitudes que coincidan con el patrón |
url |
En el elemento
En el elemento
Nota: Puedes incluir patrones glob, como el carácter comodín
Las rutas de URL que empiezan por |
Ejemplo
A continuación, se muestra un archivo de configuración de envío de ejemplo que enruta las solicitudes a https://simple-sample.uc.r.appspot.com
y las solicitudes como https://simple-sample.uc.r.appspot.com/favicon.ico
al servicio default
. Todo el contenido estático se sirve desde el servicio default
. Las solicitudes móviles, como https://simple-sample.uc.r.appspot.com/mobile/
, se dirigen a un frontend móvil, y las solicitudes de trabajadores, como https://simple-sample.uc.r.appspot.com/work/
, se dirigen a un backend estático.
Ejemplo:
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
Si prefieres reglas de enrutamiento generales que coincidan con muchas solicitudes posibles, puedes definir reglas con ámbitos más amplios.
Ejemplo:
# 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
También puedes escribir expresiones más estrictas.
Ejemplo:
# 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
Puedes crear reglas para redirigir las solicitudes de dominio entrantes a un servicio. Las siguientes reglas enrutan las solicitudes entrantes de "customer1.myapp.com" al servicio predeterminado y las solicitudes entrantes de subdominios a un servicio de backend estático.
Ejemplo:
# 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
Límites
El archivo de envío puede contener hasta 20 reglas de enrutamiento. Al especificar la cadena de URL, ni el nombre de host ni la ruta pueden tener más de 100 caracteres.
Eliminar todas las reglas de envío
Para eliminar todas las reglas de envío:
Edita el contenido del archivo
dispatch.yaml
para que sea el siguiente:dispatch: []
Despliega el archivo
dispatch.yaml
en App Engine.