Créer des applications App Engine avec l'API Admin

ID de la région

Le REGION_ID est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.

En savoir plus sur les ID de région

L'API App Engine Admin vous permet de créer des applications App Engine de manière automatisée dans les nouveaux projets Google Cloud. En utilisant à la fois l'API Admin et l'API Cloud Resource Manager, vous pouvez automatiser la gestion des projets Google Cloud et des applications App Engine.

La création d'une application App Engine crée une ressource Application pour un projet Google Cloud cible dans l'emplacement spécifié.

Pour créer manuellement une application App Engine dans un projet Google Cloud, consultez la page Gérer les projets, les applications et la facturation pour votre langage dans l'environnement standard ou dans l'environnement flexible.

Avant de commencer

Avant de créer une application App Engine à l'aide de l'API Admin, vous devez remplir les conditions préalables suivantes :

Pour qu'un autre compte utilisateur puisse effectuer des tâches sur une application App Engine, le propriétaire du projet Google Cloud doit d'abord créer la ressource Application. Par exemple, vous devez créer l'application App Engine pour qu'un compte utilisateur doté du rôle "Utilisateur à l'origine du déploiement App Engine" puisse déployer une application à l'aide d'un compte de service.

Pour créer un projet Google Cloud, procédez comme suit :

API

Vous pouvez créer un projet Google Cloud de manière automatisée à l'aide de l'API Cloud Resource Manager. Pour en savoir plus, consultez la section Créer un projet. Passez en revue un court exemple.

Console

Pour créer un projet Google Cloud à l'aide de la console Google Cloud, procédez comme suit :

Accéder à la page Projets

gcloud

Après avoir installé Google Cloud CLI, vous pouvez exécuter la commande suivante de gcloud CLI pour créer un projet Google Cloud :

gcloud projects create

Si vous choisissez d'utiliser un projet Google Cloud existant, vous devez vous assurer qu'il ne contient pas déjà la ressource Application, car les projets n'acceptent qu'une seule application App Engine. Pour vérifier si votre projet Google Cloud contient déjà la ressource Application, vous pouvez utiliser la méthode apps.get ou exécuter la commande gcloud app describe.

Créer une application App Engine

Pour créer une application App Engine avec l'API Admin, procédez comme suit :

  1. Autorisez les requêtes HTTP, à l'aide d'un jeton d'accès par exemple.

    Vous pouvez obtenir l'autorisation d'accéder à l'API Admin à l'aide de différents flux OAuth en fonction des besoins de votre application API. Pour en savoir plus, consultez la page Accéder à l'API.

  2. Envoyez une requête HTTP POST à l'aide de votre jeton d'accès et de l'API Admin pour créer une application App Engine.

    Vous définissez la ressource Application et le projet Google Cloud cible dans la requête HTTP POST ; par exemple :

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

    Champs obligatoires de la requête HTTP :

    • id : ID du projet Google Cloud cible dans lequel vous souhaitez créer une application App Engine.

    • locationId : nom de la région géographique dans laquelle l'application App Engine est située, comme indiqué dans la section Emplacements App Engine ; par exemple, us-east1.

      Pour obtenir la liste complète des emplacements acceptés, vous pouvez utiliser la méthode apps.locations.list.

      Exemple : Autorisez et exécutez cet exemple de requête dans APIs Explorer pour afficher la liste actualisée des emplacements acceptés.

    Consultez la section Ressource Application pour obtenir la liste complète des options de champs.

    Exemple de commande 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
    

    Où :

    • [MY_PROJECT_ID] correspond à l'ID du projet cible dans lequel vous souhaitez créer votre application App Engine.
    • [MY_APP_LOCATION] correspond à l'emplacement dans lequel vous souhaitez créer votre application App Engine.
    • [MY_ACCESS_TOKEN] est le jeton d'accès obtenu pour autoriser les requêtes HTTP.

    Exemple de réponse :

    {
      "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. Vérifiez que votre application App Engine a été créée :

    1. Affichez l'état de l'opération de création en cours :

      La requête HTTP POST utilisée à l'étape précédente renvoie le nom de l'opération dans le champ name, que vous utilisez avec la méthode GET de la collection apps.operations pour vérifier l'état de l'opération de création.

      Par exemple, si le champ name de la réponse est :

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

      Vous envoyez ensuite la requête HTTP GET suivante :

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

      Exemple de commande 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
      

      [MY_ACCESS_TOKEN] correspond à votre jeton d'accès et [MY_PROJECT_ID] à l'ID du projet cible.

      Exemple de réponse :

      {
        "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. Vérifiez que l'application App Engine a été créée dans votre projet :

      Pour afficher les détails de la version, utilisez la méthode GET de la collection apps. Vous devez spécifier le projet que vous avez déployé dans la requête HTTP GET, par exemple :

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

      Exemple de commande curl :

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

      [MY_ACCESS_TOKEN] correspond à votre jeton d'accès et [MY_PROJECT_ID] à l'ID du projet cible.

      Exemple de réponse :

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

      Le REGION_ID est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.

Étape suivante