Creare un'app .NET nell'ambiente flessibile di App Engine

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici di paesi e province 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.

Questa guida rapida mostra come creare ed eseguire il deployment di un'app che visualizza un breve messaggio. Puoi utilizzare l'applicazione di esempio in questa guida introduttiva per qualsiasi versione supportata di .NET, specificando la versione del runtime e il sistema operativo nel file app.yaml. Per impostazione predefinita, App Engine utilizza la versione .NET LTS più recente disponibile se non specifichi una versione di runtime nel file app.yaml.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Build API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Prerequisiti aggiuntivi

  1. Inizializza la tua app App Engine con il tuo progetto e scegli la relativa area geografica:

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    Quando richiesto, seleziona la regione in cui vuoi collocare l'applicazione App Engine.

  2. Installa quanto segue sulla tua macchina locale:

    • Installa l'SDK.NET Core, versione LTS.

    • Se utilizzi Visual Studio, devi utilizzare la versione 2015 o successive. Le immagini sono disponibili per le app ASP.NET Core scritte per .NET Core 1.0, 1.1, 2.0 e 2.1.

    • Per eseguire il deployment in App Engine direttamente da Visual Studio, installa Tools for Visual Studio.

Località App Engine

App Engine è regionale, il che significa che l'infrastruttura che esegue le tue app si trova in una regione specifica e Google la gestisce in modo che sia disponibile in modo ridondante in tutte le zone della regione.

Soddisfare i requisiti di latenza, disponibilità o durabilità è uno dei fattori principali per la scelta della regione in cui vengono eseguite le app. In genere, puoi selezionare la regione più vicina agli utenti della tua app, ma devi prendere in considerazione le località in cui è disponibile App Engine, nonché le località degli altri prodotti e servizi Google Cloud utilizzati dalla tua app. L'utilizzo di servizi in più località può influire sulla latenza e sul prezzo della tua app.

Non puoi modificare la regione di un'app dopo averla impostata.

Se hai già creato un'applicazione App Engine, puoi visualizzarne la regione effettuando una delle seguenti operazioni:

Questa guida rapida presuppone che tu abbia dimestichezza con la creazione di app web con C#.

scarica l'app Hello World

Abbiamo creato un'app Hello World per App Engine in modo che tu possa capire rapidamente come eseguire il deployment di un'app in Google Cloud. L'app Hello World è simile all'app creata da Visual Studio quando si crea un'app ASP.NET Core vuota. L'app di esempio aggiunge un file app.yaml. Il app.yaml è un file di configurazione di App Engine che specifica il runtime e altre impostazioni di App Engine.

  1. Clona il repository dell'app di esempio Hello World sulla tua macchina locale.

    git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples
    

    In alternativa puoi scaricare l'esempio come file ZIP ed estrarlo.

  2. Passa alla directory che contiene il codice campione.

       cd dotnet-docs-samples/appengine/flexible/HelloWorld
    

Esegui Hello World sulla tua macchina locale

  1. Esegui i seguenti comandi dalla directory dotnet-docs-samples/appengine/flexible/HelloWorld/HelloWorld.Sample:

    dotnet restore
    dotnet run
    
  2. Nel browser web, vai alla pagina http://localhost:5000. Puoi vedere il messaggio "Hello World" dell'app di esempio visualizzato nella pagina. Nella finestra del terminale, premi Ctrl+C per uscire dal server web.

Esegui il deployment di Hello World e avviala in App Engine

  1. Esegui gcloud app deploy dalla riga di comando.
  2. Avvia il browser e visualizza l'app all'indirizzo https://PROJECT_ID.REGION_ID.r.appspot.com gcloud app browse

Questa volta, la pagina che mostra il messaggio Hello World viene pubblicata da un server web in esecuzione su un'istanza App Engine.

Complimenti! Hai eseguito il deployment della tua prima app App Engine nell'ambiente flessibile di App Engine.

Se hai riscontrato errori durante il deployment dell'applicazione, consulta i suggerimenti per la risoluzione dei problemi.

Consulta le sezioni seguenti per informazioni sulla pulizia e sui possibili passaggi successivi che puoi intraprendere.

Esegui la pulizia

Per evitare addebiti, puoi eliminare il tuo progetto Google Cloud per interrompere la fatturazione per tutte le risorse utilizzate al suo interno.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Passaggi successivi

Scopri tutta la piattaforma

Ora che sai come sviluppare e implementare app App Engine, puoi esplorare il resto di Google Cloud. Hai già installato Google Cloud CLI, che ti fornisce gli strumenti per interagire con prodotti come Cloud SQL, Cloud Storage, Firestore e altri ancora.

Scopri di più sull'ambiente flessibile di App Engine

Ecco alcuni argomenti che ti aiuteranno a continuare a imparare su App Engine:

Revisione del codice Hello World

Hello World è l'app App Engine più semplice possibile, in quanto contiene un solo servizio, ha una sola versione e tutto il codice si trova nella directory principale dell'app. Questa sezione descrive in dettaglio ogni file dell'app.

Program.cs

L'app Hello World è una semplice app ASP.NET:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => builder.Configuration["My:Greeting"]);

app.Run();

app.yaml

Il file app.yaml descrive la seguente configurazione per la tua app:

  • Imposta env: flex, a indicare che l'app utilizza l'ambiente flessibile di App Engine.
  • Specifica il runtime utilizzato dall'app.

    runtime: aspnetcore
    env: flex
    
    runtime_config:
      operating_system: ubuntu22
    
    # This sample incurs costs to run on the App Engine flexible environment. 
    # The settings below are to reduce costs during testing and are not appropriate
    # for production use. For more information, see:
    # https://cloud.google.com/appengine/docs/flexible/dotnet/configuring-your-app-with-app-yaml
    manual_scaling:
      instances: 1
    resources:
      cpu: 1
      memory_gb: 0.5
      disk_size_gb: 10
    
    env_variables:
      # The __ in My__Greeting will be translated to a : by ASP.NET.
      My__Greeting: Hello AppEngine!