Crea ed esegui il deployment di una funzione Cloud HTTP utilizzando .NET
Questa guida illustra il processo di scrittura di una funzione Cloud Functions utilizzando il linguaggio di runtime C.NET in linguaggio .NET. Esistono due tipi di funzioni Cloud Functions:
- Una funzione attivata da HTTP, che puoi richiamare dalle richieste HTTP standard.
- Una funzione basata su eventi che utilizzi per gestire gli eventi della tua infrastruttura Cloud, come messaggi su un argomento Cloud Pub/Sub o modifiche a un bucket Cloud Storage.
Struttura della guida
- Creazione di un progetto GCP mediante l'interfaccia a riga di comando gcloud
- Creare una funzione
- Indicazione delle dipendenze
- Deployment della funzione
- Testare la funzione di cui è stato eseguito il deployment
- Visualizzazione dei log
- Utilizzare il framework di Functions
Creazione di un progetto GCP mediante l'interfaccia a riga di comando gcloud
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
-
Abilita le API Cloud Functions and Cloud Build.
-
Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.
-
Abilita le API Cloud Functions and Cloud Build.
- Installa e inizializza l'interfaccia a riga di comando gcloud.
- Aggiorna e installa i componenti
gcloud
:gcloud components update
- Prepara l'ambiente di sviluppo.
Creazione di una funzione
Questa sezione spiega come creare manualmente una funzione da zero. In alternativa, puoi utilizzare i modelli forniti dal pacchetto modello.
Per creare una funzione:
Crea una directory sul sistema locale per il codice funzione:
Windows
mkdir %HOMEPATH%\helloworld cd %HOMEPATH%\helloworld
Linux o Mac OS X
mkdir ~/helloworld cd ~/helloworld
Crea un file denominato
Function.cs
con il seguente contenuto:Questa funzione di esempio visualizza il saluto "Hello World!"
Specifica delle dipendenze
Il passaggio successivo consiste nel configurare le dipendenze. In C# Cloud Functions puoi configurare due tipi di dipendenze:
- Rendere 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 che all'interno del codice tramite inserimento di dipendenze. Per ulteriori informazioni, consulta la pagina Personalizzazione tramite i corsi per startup di Functions.
Per rendere disponibile il framework Functions, modifica la directory nella directory helloworld
che hai creato sopra:
cd ~/helloworld
A questo punto, crea un file denominato HelloWorld.csproj
con il seguente contenuto:
Deployment della funzione in corso...
Per il deployment della funzione con un trigger HTTP, esegui il comando seguente nella directory helloworld
:
gcloud functions deploy my-first-function --entry-point HelloWorld.Function --runtime dotnet3 --trigger-http --allow-unauthenticated
dove my-first-function
è il nome registrato con cui la funzione
sarà identificata in Cloud Console, mentre --entry-point
specifica
il nome completo della classe (FQN).
Test della funzione di cui è stato eseguito il deployment
Al termine del deployment della funzione, prendi nota della proprietà
httpsTrigger.url
o trovala utilizzando il comando seguente:gcloud functions describe my-first-function
Dovrebbe avere questo aspetto:
https://GCP_REGION-PROJECT_ID.cloudfunctions.net/my-first-function
Visita questo URL nel tuo browser. Dovresti vedere un messaggio
Hello World!
.
Visualizzazione dei log
Utilizzo dello strumento a riga di comando
I log per Cloud Functions sono visualizzabili nell'interfaccia utente di Cloud Logging e tramite l'interfaccia a riga di comando di Google Cloud.
Per visualizzare i log per la funzione con l'interfaccia a riga di comando gcloud, utilizza il comando logs read
, seguito dal nome della funzione:
gcloud functions logs read my-first-function
L'output dovrebbe essere simile all'output 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 ...
Utilizzo della dashboard di Logging
Puoi visualizzare i log per Cloud Functions anche da Cloud Console.
Utilizzo del pacchetto di modelli
Le sezioni precedenti indicano come creare manualmente una funzione da zero. In futuro, probabilmente utilizzerai i modelli per creare nuove funzioni.
Per utilizzare i modelli per creare, creare e testare una funzione:
Installa l'SDK.NET Core 3.1.
Installa il pacchetto del modello:
dotnet new -i Google.Cloud.Functions.Templates
Successivamente, crea una directory per il tuo progetto e utilizza
dotnet new
per creare una nuova funzione HTTP:mkdir HelloFunctions cd HelloFunctions dotnet new gcf-http
Questa operazione crea
HelloFunctions.csproj
eFunction.cs
nella directory corrente. ApriFunction.cs
per controllare il codice e, se vuoi, fornisci un messaggio personalizzato.Crea la tua funzione localmente come segue:
dotnet run
Quando il server è in esecuzione, vai a
http://localhost:8080
per richiamare la funzione. Per arrestare il server, premi Ctrl-C nella console.Questa funzione mostra il messaggio "Hello Functions Framework".
In alternativa, puoi inviare richieste a questa funzione utilizzando curl
da un'altra
finestra Terminale:
curl localhost:8080
# Output: Hello Functions Framework