Crea aplicaciones de App Engine con la API de Administrador

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:

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:

Ir a la página Proyectos

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

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:

  1. 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.

  2. 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 HTTP POST, 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
    

    Aquí:

    • [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]"
      }
    }
    
  3. Verifica que se haya creado tu aplicación de App Engine:

    1. 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 campo name, que debes usar con el método GET de la colección apps.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]"
        }
      }
      
    2. 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ón apps. Debes especificar el proyecto que implementaste en la solicitud HTTP GET, 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.

¿Qué sigue?