Crea ed esegui il deployment di una funzione Cloud Run HTTP con .NET (1ª generazione.)
Questa guida illustra la procedura per scrivere una funzione Cloud Run utilizzando il linguaggio di runtime .NET C#. Esistono due tipi di funzioni Cloud Run:
- Una funzione attivata tramite HTTP, che viene richiamata da richieste HTTP standard.
- Una funzione basata su eventi che utilizzi per gestire gli eventi della tua infrastruttura Cloud, ad esempio i messaggi in un argomento Pub/Sub o le modifiche in un bucket Cloud Storage.
Prima di iniziare
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions and Cloud Build APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions and Cloud Build APIs.
- Installa e inizializza la gcloud CLI.
- Aggiorna e installa i componenti
gcloud
:gcloud components update
- Prepara l'ambiente di sviluppo.
Crea una funzione
Questa sezione descrive come creare manualmente una funzione da zero. In alternativa, puoi utilizzare i modelli forniti dal pacchetto di modelli.
Per creare una funzione:
Crea una directory sul sistema locale per il codice della funzione:
Windows
mkdir %HOMEPATH%\helloworld cd %HOMEPATH%\helloworld
Linux o Mac OS X
mkdir ~/helloworld cd ~/helloworld
Crea un file denominato
Function.cs
con i contenuti riportati di seguito:Questa funzione di esempio restituisce il saluto "Hello World!"
Specifica delle dipendenze
Il passaggio successivo consiste nel configurare le dipendenze. Esistono due diversi tipi di dipendenze che puoi configurare nelle funzioni Cloud Run in C#:
- Rendi disponibile il framework di Functions. Questa è l'attività che stai svolgendo in questa sezione.
- Rendi disponibili altre librerie, sia in termini di file di progetto sia all'interno del codice tramite l'iniezione di dipendenze. Per saperne di più, consulta Personalizzazione tramite i classi di avvio di Functions.
Per rendere disponibile il framework Functions, cambia directory nella directory helloworld
che hai creato sopra:
cd ~/helloworld
Quindi, crea un file denominato HelloWorld.csproj
con i contenuti riportati di seguito:
esegui il deployment della funzione
Per il deployment della funzione con un trigger HTTP, esegui questo comando nella directory helloworld
:
gcloud functions deploy --no-gen2 my-first-function --entry-point HelloWorld.Function --runtime dotnet8 --trigger-http --allow-unauthenticated
dove my-first-function
è il nome registrato con cui la funzione verrà identificata nella console Google Cloud e --entry-point
specifica il nome completo della classe (FQDN) della funzione.
Testa la funzione di cui hai eseguito il deployment
Al termine del deployment della funzione, annota la proprietà
httpsTrigger.url
o cercala utilizzando il seguente comando:gcloud functions describe my-first-function
Dovrebbe avere il seguente aspetto:
https://GCP_REGION-PROJECT_ID.cloudfunctions.net/my-first-function
Accedi all'URL dal browser. Dovresti vedere un messaggio
Hello World!
.
Visualizza i log
I log per le funzioni Cloud Run sono visualizzabili utilizzando Google Cloud CLI e nell'interfaccia utente di Cloud Logging.
Utilizzare lo strumento a riga di comando
Per visualizzare i log per la tua funzione con gcloud CLI, utilizza il comando logs read
, seguito dal nome della funzione:
gcloud functions logs read my-first-function
L'output dovrebbe essere simile al seguente:
LEVEL NAME EXECUTION_ID TIME_UTC LOG D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.791 Function execution started D my-first-function k2bqgroszo4u 2020-07-24 18:18:01.958 Function execution took 168 ms, finished with status code: 200 ...
Utilizzare la dashboard di Log
Puoi anche visualizzare i log per le funzioni Cloud Run dalla console Google Cloud.
Utilizzare il pacchetto di modelli
Le sezioni precedenti spiegano come creare manualmente una funzione da zero. In futuro, probabilmente utilizzerai i modelli per creare nuove funzioni.
Per utilizzare i modelli per creare, compilare e testare una funzione:
Installa l'SDK.NET.
Installa il pacchetto del modello:
dotnet new install Google.Cloud.Functions.Templates
A questo punto, crea una directory per il progetto e utilizza
dotnet new
per creare una nuova funzione HTTP:mkdir HelloFunctions cd HelloFunctions dotnet new gcf-http
Vengono creati
HelloFunctions.csproj
eFunction.cs
nella directory corrente. ApriFunction.cs
per esaminare il codice e, se vuoi, fornisci un messaggio personalizzato.Compila la funzione localmente nel seguente modo:
dotnet run
Una volta avviato il server, vai a
http://localhost:8080
per invocare la funzione. Premi Ctrl+C nella console per arrestare il server.Questa funzione mostra il messaggio "Hello Functions Framework".
In alternativa, puoi inviare richieste a questa funzione utilizzando curl
da un'altra finestra del terminale:
curl localhost:8080
# Output: Hello Functions Framework