ID de región
REGION_ID
es un código abreviado que Google asigna en función de la región que eliges cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r
se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.
Obtén más información acerca de los ID de región.
Usa la API de App Engine Admin para crear aplicaciones de App Engine de manera programática en nuevos proyectos de Google Cloud. Si usas la API de Administrador junto con la API de Cloud Resource Manager, puedes administrar de manera programática proyectos de Google Cloud y aplicaciones de App Engine.
Cuando se crea una aplicación de App Engine, se crea un recurso Application
para un proyecto de Google Cloud de destino en la ubicación especificada.
Para crear de forma manual una aplicación de App Engine en un proyecto de Google Cloud, consulta el tema Administrar proyectos, aplicaciones y facturación de tu lenguaje en el entorno estándar o el entorno flexible.
Antes de comenzar
Debes cumplir con los siguientes requisitos antes de crear una aplicación de App Engine con la API de Administrador:
- Debes crear o tener un proyecto de Google Cloud existente.
- Debes ser el propietario del proyecto de Google Cloud de destino.
- Debes poder acceder a la API de Administrador.
Antes de que cualquier otra cuenta de usuario pueda realizar tareas en una aplicación de App Engine, el propietario del proyecto de Google Cloud debe crear primero el recurso Application
. Por ejemplo, debes crear la aplicación de App Engine antes de que una cuenta de usuario con el rol de Implementador de App Engine pueda implementar una app mediante una cuenta de servicio.
Para crear un proyecto de Google Cloud, sigue estos pasos:
API
Para crear un proyecto de Google Cloud de manera programática, puedes usar la API de Cloud Resource Manager. Consulta Crea un proyecto nuevo para obtener más detalles. Consulta un breve ejemplo.
Console
Para crear un proyecto de Google Cloud mediante la consola de Google Cloud, sigue estos pasos:
gcloud
Después de instalar Google Cloud CLI, puedes ejecutar el siguiente comando de la herramienta de la CLI de gcloud para crear un proyecto de Google Cloud:
gcloud projects create
Crea un nuevo proyecto de Google Cloud con la API de Cloud Resource Manager
Antes de que puedas enviar solicitudes con Google Cloud Resource Manager, debes habilitar esa API en el proyecto de Google Cloud desde el que quieres crear otros proyectos de Google Cloud. Habilita la API de Cloud Resource Manager en la consola de Google Cloud
Envía una solicitud HTTP
POST
con tu token de acceso:POST https://cloudresourcemanager.googleapis.com/v1/projects/ { "projectId": "[MY_PROJECT_ID]", "name": "[MY_PROJECT_NAME]" }
A continuación, se muestra un ejemplo del comando cURL:
curl -X POST -d "{ 'projectId': '[MY_PROJECT_ID]', 'name': '[MY_PROJECT_NAME]' }" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://cloudresourcemanager.googleapis.com/v1/projects/
Para obtener más información, consulta tema Crea un proyecto nuevo de Cloud Resource Manager.
Si decides usar un proyecto de Google Cloud existente, debes asegurarte de que el proyecto no contenga el recurso Application
porque los proyectos solo admiten una aplicación de App Engine. Para verificar si tu proyecto de Google Cloud ya contiene el recurso Application
, puedes usar el método apps.get
o ejecutar gcloud app describe
.
Crear una aplicación de App Engine
Para crear una aplicación de App Engine con la API de Administrador, sigue estos pasos:
Autoriza tus solicitudes HTTP, por ejemplo, obtén un token de acceso.
La autorización de acceso a la API de Administrador se puede realizar con diferentes flujos de OAuth según las necesidades de tu app de API. Para obtener más información, consulta Accede a la API.
Envía una solicitud
POST
HTTP con tu token de acceso y la API de Administrador para crear una aplicación de App Engine.Debes definir el recurso
Application
y orientar el proyecto de Google Cloud en la solicitud HTTPPOST
, por ejemplo:POST https://appengine.googleapis.com/v1/apps { "id": "[MY_PROJECT_ID]", "locationId": "[MY_APP_LOCATION]" }
Campos de solicitud HTTP obligatorios:
id
: Es el ID del proyecto de Google Cloud de destino en el que deseas crear una aplicación de App Engine.locationId
: El nombre de la región geográfica en la que se encuentra la aplicación de App Engine como se muestra en Ubicaciones de App Engine, por ejemplo,us-east1
.Para obtener una lista completa de las ubicaciones compatibles, puedes usar el método
apps.locations.list
.Ejemplo: Autoriza y ejecuta esta solicitud de ejemplo en el Explorador de API para ver una lista actual de ubicaciones compatibles.
Consulta el recurso
Application
para ver la lista completa de opciones de campo.A continuación, se muestra un ejemplo del comando cURL:
curl -X POST -d "{ 'id': '[MY_PROJECT_ID]', 'locationId': '[MY_APP_LOCATION]' }" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps
Donde
[MY_PROJECT_ID]
es el ID del proyecto de destino en el que deseas crear tu aplicación de App Engine.[MY_APP_LOCATION]
es la ubicación donde deseas crear tu aplicación de App Engine.[MY_ACCESS_TOKEN]
es el token de acceso que obtuviste para autorizar las solicitudes HTTP.
Respuesta de ejemplo:
{ "name": "apps/[MY_PROJECT_ID]/operations/0a37a032-be3f-4c20-98b4-e3300447450f", "metadata": { "@type": "type.googleapis.com/google.appengine.v1.OperationMetadataV1", "method": "google.appengine.v1.Applications.CreateApplication", "insertTime": "2016-10-03T20:48:02.099Z", "user": "me@example.com", "target": "apps/[MY_PROJECT_ID]" } }
Verifica que se haya creado tu aplicación de App Engine:
Observa el estado de la operación de creación real:
La solicitud HTTP
POST
que usaste en el paso anterior mostró el nombre de la operación en el camponame
, que debes usar con el métodoGET
de la colecciónapps.operations
para verificar el estado de la operación de creación.Por ejemplo, si el campo
name
de la respuesta es la siguiente:"name": "apps/[MY_PROJECT_ID]/operations/0a37a032-be3f-4c20-98b4-e3300447450f"
Entonces, debes enviar la solicitud
GET
HTTP siguiente:GET https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/operations/0a37a032-be3f-4c20-98b4-e3300447450f
A continuación, se muestra un ejemplo del comando cURL:
curl -X GET -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/operations/0a37a032-be3f-4c20-98b4-e3300447450f
En el ejemplo anterior,
[MY_ACCESS_TOKEN]
es tu token de acceso y[MY_PROJECT_ID]
es el ID del proyecto de destino.Respuesta de ejemplo:
{ "name": "apps/[MY_PROJECT_ID]/operations/0a37a032-be3f-4c20-98b4-e3300447450f", "metadata": { "@type": "type.googleapis.com/google.appengine.v1.OperationMetadataV1", "method": "google.appengine.v1.Applications.CreateApplication", "insertTime": "2016-10-03T20:48:02.099Z", "endTime": "2016-10-03T20:48:18.272Z", "user": "me@example.com", "target": "apps/[MY_PROJECT_ID]" }, "done": true, "response": { "@type": "type.googleapis.com/google.appengine.v1.Application", "id": "[MY_PROJECT_ID]", "locationId": "[MY_APP_LOCATION]" } }
Verifica que la aplicación de App Engine se haya creado en tu proyecto:
Para obtener detalles sobre la versión, usa el método
GET
de la colecciónapps
. Debes especificar el proyecto que implementaste en la solicitud HTTPGET
, por ejemplo:GET https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]
A continuación, se muestra un ejemplo del comando cURL:
curl -X GET -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/
En el ejemplo anterior,
[MY_ACCESS_TOKEN]
es tu token de acceso y[MY_PROJECT_ID]
es el ID del proyecto de destino.Respuesta de ejemplo:
{ "name": "apps/[MY_PROJECT_ID]", "id": "[MY_PROJECT_ID]", "authDomain": "gmail.com", "locationId": "us-central", "defaultHostname": "[MY_PROJECT_ID].[REGION_ID].r.appspot.com", "defaultBucket": "[MY_PROJECT_ID].[REGION_ID].r.appspot.com" }
REGION_ID
es un código abreviado que Google asigna en función de la región que seleccionas cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020,REGION_ID.r
se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.