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.
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:
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
Neues Google Cloud-Projekt mit der Cloud Resource Manager API erstellen
Bevor Sie Anfragen mit Google Cloud Resource Manager senden können, müssen Sie diese API in dem Google Cloud-Projekt aktivieren, von dem aus Sie andere Cloud-Projekte erstellen möchten. Cloud Resource Manager API in der Google Cloud Console aktivieren
Senden Sie die HTTP-Anfrage
POST
mit Ihrem Zugriffstoken:POST https://cloudresourcemanager.googleapis.com/v1/projects/ { "projectId": "[MY_PROJECT_ID]", "name": "[MY_PROJECT_NAME]" }
Beispiel eines cURL-Befehls:
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/
Weitere Informationen finden Sie im Thema Neues Projekt erstellen in Cloud Resource Manager.
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:
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.
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-AnfragePOST
. 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
Wobei:
[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]" } }
Überprüfen Sie, ob Ihre App Engine-Anwendung erstellt wurde:
So zeigen Sie den Status des aktuellen Erstellungsvorgangs an:
Die HTTP-
POST
-Anfrage, die Sie im vorherigen Schritt verwendet haben, hat den Vorgangsnamen im Feldname
zurückgegeben, das Sie zusammen mit der MethodeGET
derapps.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]" } }
Überprüfen Sie, ob die App Engine-Anwendung in Ihrem Projekt erstellt wurde:
Zum Aufrufen von Details der Version verwenden Sie die Methode
GET
derapps
-Sammlung. Geben Sie das Projekt an, das Sie in der HTTP-AnfrageGET
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, istREGION_ID.r
in den App Engine-URLs enthalten. Bei Anwendungen, die vor diesem Datum erstellt wurden, ist die Regions-ID in der URL optional.