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 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. Incluir REGION_ID.r en las URL de App Engine es opcional en el caso de las apps existentes, y pronto será obligatorio para todas las apps nuevas.

A fin de garantizar una transición sin problemas, estamos actualizando App Engine de forma paulatina para usar los ID de región. Si aún no actualizamos tu proyecto de Google Cloud, no verás un ID de región para la app. Dado que el ID es opcional en las apps existentes, no es necesario que actualices las URL ni realices otros cambios una vez que el ID de región esté disponible en las apps existentes.

Obtén más información acerca de los ID de región.

Usa la API de Administrador de Google App Engine 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 Cloud y aplicaciones de App Engine.

Cuando se crea una aplicación de App Engine, se crea un recurso Application para un proyecto de Cloud de destino en la ubicación especificada.

Para crear de forma manual una aplicación de App Engine en un proyecto de 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 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 la función de implementador de App Engine pueda implementar una aplicación mediante una cuenta de servicio.

Para crear un proyecto de Cloud, sigue estos pasos:

API

Para crear un proyecto de 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 Cloud mediante Cloud Console, sigue estos pasos:

Ir a la página Proyectos

gcloud

Después de instalar el SDK de Google Cloud, puedes ejecutar el siguiente comando de la herramienta de gcloud para crear un proyecto de Cloud:

gcloud projects create

Si decides usar un proyecto de 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 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 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 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. Incluir REGION_ID.r en las URL de App Engine es opcional en el caso de las apps existentes, y pronto será obligatorio para todas las apps nuevas.

      A fin de garantizar una transición sin problemas, estamos actualizando App Engine de forma paulatina para usar los ID de región. Si aún no actualizamos tu proyecto de Google Cloud, no verás un ID de región para la app. Dado que el ID es opcional en las apps existentes, no es necesario que actualices las URL ni realices otros cambios una vez que el ID de región esté disponible en las apps existentes.

¿Qué sigue?