Creazione di applicazioni App Engine con l'API Admin

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base alla regione selezionata al momento della creazione dell'app. Non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono apparire simili ai codici di paese e provincia di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.

Scopri di più sugli ID regione.

Utilizzare l'API App Engine Admin per creare in modo programmatico applicazioni App Engine nei nuovi progetti Google Cloud. Se utilizzi sia l'API Admin sia l'API Cloud Resource Manager, puoi gestire in modo programmatico i progetti Google Cloud e le applicazioni App Engine.

La creazione di un'applicazione App Engine crea una risorsa Application per un progetto Google Cloud di destinazione nella località specificata.

Per creare manualmente un'applicazione App Engine in un progetto Google Cloud, consulta l'argomento Gestione di progetti, applicazioni e fatturazione per il tuo linguaggio nell'ambiente standard o nell'ambiente flessibile.

Prima di iniziare

Prima di poter creare un'applicazione App Engine utilizzando l'API Admin, devi soddisfare i prerequisiti seguenti:

  • Devi creare o avere un progetto Google Cloud esistente.
  • Devi essere il proprietario del progetto Google Cloud di destinazione.
  • Devi essere in grado di accedere all'API Admin.

Prima che qualsiasi altro account utente possa eseguire attività su un'applicazione App Engine, il proprietario del progetto Google Cloud deve creare la risorsa Application. Ad esempio, devi creare l'applicazione App Engine prima che un account utente con ruolo Deployer App Engine possa eseguire il deployment di un'app utilizzando un account di servizio.

Per creare un progetto Google Cloud:

API

Per creare un progetto Google Cloud in modo programmatico, puoi utilizzare l'API Cloud Resource Manager. Per maggiori dettagli, consulta Creazione di un nuovo progetto. Guarda un breve esempio.

Console

Per creare un progetto Google Cloud utilizzando la console Google Cloud:

Vai alla pagina Progetti

gcloud

Dopo aver installato Google Cloud CLI, puoi eseguire il seguente comando di gcloud CLI per creare un progetto Google Cloud:

gcloud projects create

Se scegli di utilizzare un progetto Google Cloud esistente, devi assicurarti che il progetto non contenga già la risorsa Application perché i progetti supportano una sola applicazione App Engine. Per verificare se il progetto Google Cloud contiene già la risorsa Application, puoi utilizzare il metodo apps.get o eseguire il comando gcloud app describe.

Creazione di un'app App Engine

Per creare un'applicazione App Engine con l'API Admin:

  1. Autorizza le tue richieste HTTP, ad esempio ottieni un token di accesso.

    L'autorizzazione dell'accesso all'API Admin può essere eseguita con flussi OAuth diversi a seconda delle esigenze dell'app API. Per maggiori informazioni, consulta la pagina relativa all'accesso all'API.

  2. Invia una richiesta POST HTTP utilizzando il token di accesso e l'API Admin per creare un'applicazione App Engine.

    Devi definire la risorsa Application e il progetto Google Cloud di destinazione nella richiesta HTTP POST, ad esempio:

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

    Campi di richiesta HTTP obbligatori:

    • id: l'ID del progetto Google Cloud di destinazione in cui vuoi creare un'applicazione App Engine.

    • locationId: il nome della regione geografica in cui si trova l'applicazione App Engine, elencata in Località di App Engine, ad esempio us-east1.

      Per un elenco completo delle località supportate, puoi utilizzare il metodo apps.locations.list.

      Esempio: autorizza ed esegui questa richiesta di esempio in Explorer API per visualizzare un elenco aggiornato delle località supportate.

    Consulta la risorsa Application per l'elenco completo delle opzioni dei campi.

    Comando cURL di esempio:

    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
    

    Dove:

    • [MY_PROJECT_ID] è l'ID del progetto di destinazione in cui vuoi creare l'applicazione App Engine.
    • [MY_APP_LOCATION] è la posizione in cui vuoi creare la tua applicazione App Engine.
    • [MY_ACCESS_TOKEN] è il token di accesso che hai ottenuto per autorizzare le richieste HTTP.

    Esempio di risposta:

    {
      "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 che l'applicazione App Engine sia stata creata:

    1. Visualizza lo stato dell'effettiva operazione di creazione:

      La richiesta HTTP POST utilizzata nel passaggio precedente ha restituito il nome dell'operazione nel campo name, che utilizzi con il metodo GET della raccolta apps.operations per controllare lo stato dell'operazione di creazione.

      Ad esempio, se il campo name della risposta è:

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

      Dopodiché invii la seguente richiesta GET HTTP:

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

      Comando cURL di esempio:

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

      Dove [MY_ACCESS_TOKEN] è il token di accesso e [MY_PROJECT_ID] è l'ID del progetto di destinazione.

      Esempio di risposta:

      {
        "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 che l'applicazione App Engine sia stata creata nel tuo progetto:

      Per visualizzare i dettagli della versione, utilizza il metodo GET della raccolta apps. Devi specificare il progetto di cui hai eseguito il deployment nella richiesta HTTP GET, ad esempio:

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

      Comando cURL di esempio:

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

      Dove [MY_ACCESS_TOKEN] è il token di accesso e [MY_PROJECT_ID] è l'ID del progetto di destinazione.

      Esempio di risposta:

      {
        "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 è un codice abbreviato assegnato da Google in base alla regione selezionata al momento della creazione dell'app. Non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono apparire simili ai codici di paese e provincia di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.

Passaggi successivi