Como criar aplicativos do App Engine com a API Admin

ID da região

O REGION_ID é um código abreviado que o Google atribui com base na região que você selecionou ao criar o aplicativo. O código não corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes aos códigos de país e estado geralmente usados. Para apps criados após fevereiro de 2020, o REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criados antes dessa data, o ID da região é opcional no URL.

Saiba mais sobre IDs de região.

Use a API App Engine Admin do Google para criar aplicativos do App Engine de maneira programática em novos projetos do Google Cloud. Com a API Admin e a API Cloud Resource Manager, é possível gerenciar projetos do Google Cloud e aplicativos do App Engine de maneira programática.

Criar um aplicativo do App Engine cria um recurso Application para um projeto de destino do Google Cloud no local especificado.

Para criar manualmente um aplicativo do App Engine em um projeto do Google Cloud, consulte o tópico Como gerenciar projetos, aplicativos e faturamento para seu idioma no ambiente padrão ou ambiente flexível.

Antes de começar

É preciso atender aos seguintes pré-requisitos, antes de criar um aplicativo do App Engine usando a API Admin:

  • É necessário criar ou ter um projeto do Google Cloud.
  • Você precisa ser o proprietário do projeto do Google Cloud de destino.
  • É preciso que você tenha permissão para acessar a API Admin.

Antes que qualquer outra conta de usuário possa executar tarefas em um aplicativo do App Engine, o proprietário do projeto do Google Cloud precisa primeiro criar o recurso Application. Por exemplo, primeiro você precisa criar o aplicativo do App Engine para que uma conta de usuário com o papel de Implantador do App Engine possa implantar um aplicativo usando uma conta de serviço.

Para criar um projeto do Google Cloud:

API

Para criar um projeto do Google Cloud de maneira programática, use a API Cloud Resource Manager. Para saber mais, consulte Como criar um novo projeto. Veja um breve exemplo.

Console

Para criar um projeto do Google Cloud usando o console do Google Cloud:

Acessar a página "Projetos"

gcloud

Depois de instalar a Google Cloud CLI, execute o seguinte comando da CLI gcloud para criar um projeto do Google Cloud:

gcloud projects create

Se você optar por usar um projeto que já existe no Google Cloud, certifique-se de que ele não contenha o recurso Application porque os projetos são compatíveis com apenas um aplicativo do App Engine. Para verificar se o projeto do Google Cloud já contém o recurso Application, use o método apps.get ou execute o comando gcloud app describe.

Como criar um aplicativo do App Engine

Para criar um aplicativo do App Engine com a API Admin:

  1. Autorize suas solicitações HTTP, por exemplo, receba um token de acesso.

    É possível autorizar o acesso à API Admin usando diferentes fluxos do OAuth, dependendo das necessidades do aplicativo de API. Para mais informações, consulte Como acessar a API.

  2. Envie uma solicitação HTTP POST usando seu token de acesso e a API Admin para criar um aplicativo do App Engine.

    Você define o recurso Application e segmenta o projeto do Google Cloud na solicitação HTTP POST, por exemplo:

    POST https://appengine.googleapis.com/v1/apps { "id": "[MY_PROJECT_ID]", "locationId": "[MY_APP_LOCATION]" }
    

    Campos de solicitação HTTP obrigatórios:

    • id: o ID do projeto de destino do Google Cloud em que você quer criar um aplicativo do App Engine.

    • locationId: o nome da região geográfica em que o aplicativo do App Engine está localizado, conforme listado nos Locais do App Engine, por exemplo, us-east1.

      Para ver uma lista completa de locais compatíveis, use o método apps.locations.list.

      Exemplo: autorize e execute essa solicitação de exemplo no APIs Explorer para visualizar uma lista atual de locais compatíveis.

    Para uma lista completa de opções de campo, consulte o recurso Application.

    Exemplo de 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
    

    Em que:

    • [MY_PROJECT_ID] é o código do projeto de destino em que você quer criar o aplicativo do App Engine.
    • [MY_APP_LOCATION] é o local em que você quer criar o aplicativo do App Engine.
    • [MY_ACCESS_TOKEN] é o token de acesso que você recebeu para autorizar suas solicitações HTTP.

    Exemplo de resposta:

    {
      "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. Verifique se o aplicativo do App Engine foi criado:

    1. Veja o status da operação de criação real:

      A solicitação HTTP POST usada na etapa anterior retornou o nome da operação no campo name, que você usa com o método GET da coleção apps.operations para verificar o status da operação de criação.

      Por exemplo, se o campo name da resposta for:

      "name": "apps/[MY_PROJECT_ID]/operations/0a37a032-be3f-4c20-98b4-e3300447450f"
      

      Você enviará a seguinte solicitação HTTP GET:

      GET https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/operations/0a37a032-be3f-4c20-98b4-e3300447450f
      

      Exemplo de 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
      

      Em que [MY_ACCESS_TOKEN] é seu token de acesso e [MY_PROJECT_ID] é o código do projeto de destino.

      Exemplo de resposta:

      {
        "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. Verifique se o aplicativo do App Engine foi criado no projeto:

      Para visualizar detalhes sobre a versão, use o método GET da coleção apps. É preciso especificar qual projeto você implantou na solicitação HTTP GET, por exemplo:

      GET https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]
      

      Exemplo de comando cURL:

      curl -X GET -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/
      

      Em que [MY_ACCESS_TOKEN] é seu token de acesso e [MY_PROJECT_ID] é o código do projeto de destino.

      Exemplo de resposta:

      {
        "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"
      }
      

      O REGION_ID é um código abreviado que o Google atribui com base na região que você selecionou ao criar o aplicativo. O código não corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes aos códigos de país e estado geralmente usados. Para apps criados após fevereiro de 2020, o REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criados antes dessa data, o ID da região é opcional no URL.

A seguir