En esta página se describe cómo controlar las versiones de tu API y cómo implementar varias versiones.
Recomendaciones para gestionar versiones de la API
Al gestionar las versiones de tu API, ten en cuenta estas recomendaciones:
- Si quieres introducir un cambio incremental, pero que no suponga un fallo, mantén la versión de la API constante y despliégala sobre la API actual.
- Cuando introduzcas un cambio incompatible en tu API, aumenta la versión de la API.
- Para disfrutar de una protección adicional, aumenta también la versión de la aplicación App Engine y, a continuación, despliega la nueva versión de la API en esa nueva versión de la aplicación App Engine. De esta forma, puedes usar la flexibilidad integrada de App Engine para cambiar rápidamente entre versiones de App Engine y servir contenido desde las versiones antiguas que funcionen si tienes problemas inesperados.
En la siguiente tabla se muestra un ejemplo de cómo se aplican las versiones de la API backend en cascada a diferentes versiones de la aplicación de App Engine.
Versión de la aplicación | Versión de la API de backend |
---|---|
1 |
|
2 |
|
3 |
|
Como se muestra en la tabla, se lanzan actualizaciones incrementales y no disruptivas de la versión 1 de la API, y cada una de ellas sobrescribe la versión anterior. Cuando se introducen cambios incompatibles, la versión de la API se incrementa a la versión 2 y se implementa en una nueva versión de la aplicación App Engine. De esta forma, podrás volver a la versión anterior de las aplicaciones si es necesario.
En la tabla, observa que la versión 2 de la aplicación es compatible tanto con la versión 1 más reciente como con la nueva versión 2 de tu API. Si no eliminas el código de la versión 1 de tu proyecto, cuando lo implementes, se implementarán tanto v2
como vl
(n) de tu API en la versión 2 de tu aplicación.
Desplegar en varias versiones de la aplicación
Cuando implementas tu API de backend, lo haces en el ID de proyecto delGoogle Cloud proyecto que has creado para tu API. También debes especificar la versión de App Engine en la que vas a implementar la API.
La versión de la aplicación de App Engine se especifica en la línea de comandos al desplegar la aplicación.
La versión de la aplicación de App Engine no es lo mismo que el número de versión de la API de backend, que se especifica en el argumento version
del decorador @endpoints.api
.
Como se muestra en la figura anterior, puedes desplegar varias versiones de la API en la misma versión de App Engine. Además, puedes tener muchas versiones de App Engine para una aplicación.
Acceder a versiones de API desplegadas en una versión de servicio
La primera versión de App Engine
en la que despliegues tu API será la versión de servicio. Esta versión se ejecuta en la URL http://YOUR_PROJECT_ID.appspot.com
, donde YOUR_PROJECT_ID
representa el ID de tu proyecto Google Cloud. Puedes acceder a todas las versiones de la API implementadas en esa versión de la aplicación de App Engine mediante esa URL.
La versión de publicación sigue siendo la misma hasta que la cambies explícitamente en la Google Cloud consola.
Acceder a versiones de la API desplegadas en una versión de la aplicación que no está activa
Si necesitas acceder a versiones de la API que no se hayan implementado en la versión de App Engine que se está usando, utiliza una URL específica de la versión, similar a la siguiente:
https://VERSION-dot-YOUR_PROJECT_ID.appspot.com
Sustituye VERSION
por tu versión de App Engine y YOUR_PROJECT_ID
por el ID de tu proyecto Google Cloud . Por ejemplo, supongamos que la versión de servicio de App Engine es la 1, pero quieres acceder a una versión de la API implementada en la versión 2. Usarías esta URL: https://2-dot-YOUR_PROJECT_ID.appspot.com
.
Para obtener más información, consulta la documentación de App Engine.
Acceder a versiones de API implementadas en servicios que no son de publicación (antes, módulos)
Si necesitas acceder a versiones de la API que no se hayan implementado en el servicio predeterminado de App Engine, puedes usar una URL específica del servicio con la sintaxis de punto de la siguiente manera:
https://SERVICE-NAME-dot-YOUR_PROJECT_ID.appspot.com/_ah/api/...
Para obtener más información, consulta la documentación de App Engine.