App Engine-Anwendungen mit der Admin API erstellen

Regions-ID

REGION_ID ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.

Hier finden Sie weitere Informationen zu Regions-IDs.

Verwenden Sie die App Engine Admin API, um App Engine-Anwendungen programmatisch in neuen Google Cloud-Projekten zu erstellen. Wenn Sie sowohl die Admin API als auch die Cloud Resource Manager API verwenden, können Sie Google Cloud-Projekte und App Engine-Anwendungen programmatisch verwalten.

Beim Erstellen einer App Engine-Anwendung wird eine Application-Ressource für ein Google Cloud-Zielprojekt am angegebenen Standort erstellt.

Informationen zum manuellen Erstellen einer App Engine-Anwendung in einem Google Cloud-Projekt finden Sie im Thema Projekte, Anwendungen und Abrechnung verwalten für Ihre Sprache entweder in der Standardumgebung oder in der flexiblen Umgebung.

Hinweis

Damit Sie mit der Admin API eine App Engine-Anwendung erstellen können, müssen die folgenden Voraussetzungen erfüllt sein:

  • Sie müssen ein Google Cloud-Projekt erstellen oder ein vorhandenes erstellen.
  • Sie müssen Inhaber des Google Cloud-Zielprojekts sein.
  • Sie müssen Zugriff auf die Admin API haben.

Bevor ein anderes Nutzerkonto Aufgaben in einer App Engine-Anwendung ausführen kann, muss der Inhaber des Google Cloud-Projekts zuerst die Ressource Application erstellen. Damit beispielsweise ein Nutzerkonto mit der Rolle "App Engine-Bereitsteller" eine Anwendung mit einem Dienstkonto bereitstellen kann, müssen Sie zuvor die App Engine-Anwendung erstellen.

So erstellen Sie ein Google Cloud-Projekt:

API

Wenn Sie ein Google Cloud-Projekt programmatisch erstellen möchten, können Sie die Cloud Resource Manager API verwenden. Weitere Informationen finden Sie unter Neues Projekt erstellen. Hier ein kurzes Beispiel.

Console

So erstellen Sie mit der Google Cloud Console ein Cloud-Projekt:

Zur Seite "Projekte"

gcloud

Nach der Installation der Google Cloud CLI können Sie mit dem folgenden gcloud CLI-Befehl ein Google Cloud-Projekt erstellen:

gcloud projects create

Wenn Sie ein vorhandenes Google Cloud-Projekt verwenden, müssen Sie dafür sorgen, dass das Projekt nicht bereits die Ressource Application enthält, da Projekte nur eine einzige App Engine-Anwendung unterstützen. Um zu prüfen, ob Ihr Google Cloud-Projekt bereits die Ressource Application enthält, können Sie entweder die Methode apps.get oder den Befehl gcloud app describe verwenden.

App Engine-Anwendung erstellen

So erstellen Sie eine App Engine-Anwendung mit der Admin-API:

  1. Autorisieren Sie Ihre HTTP-Anfragen, indem Sie zum Beispiel ein Zugriffstoken anfordern.

    Die Autorisierung des Zugriffs auf die Admin API kann je nach den Anforderungen Ihrer API-Anwendung mit unterschiedlichen OAuth-Abläufen erfolgen. Weitere Informationen finden Sie unter Zugriff auf die API.

  2. Senden Sie die HTTP-POST-Anfrage mit Ihrem Zugriffstoken an die Admin API, um eine App Engine-Anwendung zu erstellen.

    Sie definieren die Application-Ressource und das Google Cloud-Zielprojekt in der HTTP-Anfrage POST. Beispiel:

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

    Erforderliche Felder der HTTP-Anfrage:

    • id: Die Projekt-ID des Google Cloud-Zielprojekts, in dem Sie eine App Engine-Anwendung erstellen möchten.

    • locationId: Der Name der geografischen Region, in der sich die App Engine-Anwendung befindet, wie unter App Engine-Standorte aufgeführt, z. B. us-east1.

      Eine vollständige Liste der unterstützten Standorte finden Sie über die Methode apps.locations.list.

      Beispiel: Autorisieren Sie diese Beispielanfrage in APIs Explorer und führen Sie sie aus, um eine aktuelle Liste der unterstützten Standorte zu erhalten.

    Eine vollständige Liste der Feldoptionen finden Sie im Artikel zur Application-Ressource.

    Beispiel eines cURL-Befehls:

    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
    

    Dabei gilt:

    • [MY_PROJECT_ID] ist die ID des Zielprojekts, in dem Sie Ihre App Engine-Anwendung erstellen möchten.
    • [MY_APP_LOCATION] ist der Ort, an dem Sie Ihre App Engine-Anwendung erstellen.
    • [MY_ACCESS_TOKEN] ist das Zugriffstoken, das Sie erhalten haben, um Ihre HTTP-Anfragen zu autorisieren.

    Beispielantwort:

    {
      "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. Überprüfen Sie, ob Ihre App Engine-Anwendung erstellt wurde:

    1. So zeigen Sie den Status des aktuellen Erstellungsvorgangs an:

      Die HTTP-POST-Anfrage, die Sie im vorherigen Schritt verwendet haben, hat den Vorgangsnamen im Feld name zurückgegeben, das Sie zusammen mit der Methode GET der apps.operations-Sammlung verwenden, um den Status des Erstellungsvorgangs zu überprüfen.

      Wenn beispielsweise das Feld name der Antwort so lautet:

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

      Senden Sie dann die folgende HTTP-Anfrage GET:

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

      Beispiel eines cURL-Befehls:

      curl -X GET -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/operations/0a37a032-be3f-4c20-98b4-e3300447450f
      

      Wobei [MY_ACCESS_TOKEN] Ihr Zugriffstoken ist und [MY_PROJECT_ID] die ID des Zielprojekts.

      Beispielantwort:

      {
        "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. Überprüfen Sie, ob die App Engine-Anwendung in Ihrem Projekt erstellt wurde:

      Zum Aufrufen von Details der Version verwenden Sie die Methode GET der apps-Sammlung. Geben Sie das Projekt an, das Sie in der HTTP-Anfrage GET bereitgestellt haben. Beispiel:

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

      Beispiel eines cURL-Befehls:

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

      Wobei [MY_ACCESS_TOKEN] Ihr Zugriffstoken ist und [MY_PROJECT_ID] die ID des Zielprojekts.

      Beispielantwort:

      {
        "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 ist ein abgekürzter Code, den Google anhand der Region zuweist, die Sie beim Erstellen Ihrer Anwendung ausgewählt haben. Der Code bezieht sich nicht auf ein Land oder eine Provinz, auch wenn einige Regions-IDs häufig verwendeten Länder- und Provinzcodes ähneln können. Bei Anwendungen, die nach Februar 2020 erstellt wurden, ist REGION_ID.r in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.

Nächste Schritte