Crea ed esegui il deployment di una funzione Cloud Functions HTTP con .NET (1ª generazione.)
Questa guida illustra il processo di scrittura di una Cloud Function utilizzando il linguaggio di runtime .NET C#. Esistono due tipi di funzioni Cloud Functions:
- Una funzione attivata da HTTP, richiamata dalle richieste HTTP standard.
- Una funzione basata su eventi, che puoi utilizzare per gestire gli eventi dalla tua infrastruttura Cloud, come i messaggi su un argomento Pub/Sub o le modifiche in un bucket Cloud Storage.
Prima di iniziare
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Cloud Functions and Cloud Build.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Cloud Functions and Cloud Build.
- Installa e inizializza gcloud CLI.
- Aggiorna e installa i componenti di
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 tuo 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 seguenti:Questa funzione di esempio restituisce il saluto "Hello World!"
Specifica delle dipendenze
Il passaggio successivo è impostare le dipendenze. In Cloud Functions puoi configurare due diversi tipi di dipendenze:
- Rendi disponibile il framework di Functions. Questa è l'attività che svolgi in questa sezione.
- Rendi disponibili altre librerie, sia in termini di file di progetto che all'interno del codice tramite l'inserimento delle dipendenze. Per saperne di più, consulta Personalizzazione tramite i corsi di Functions Startup.
Per rendere disponibile il framework di Functions, cambia la directory con la directory helloworld
che hai creato in precedenza:
cd ~/helloworld
Quindi crea un file denominato HelloWorld.csproj
con i contenuti seguenti:
esegui il deployment della funzione
Per eseguire il deployment della funzione con un trigger HTTP, esegui questo comando nella directory helloworld
:
gcloud functions deploy my-first-function --entry-point HelloWorld.Function --runtime dotnet6 --trigger-http --allow-unauthenticated
dove my-first-function
è il nome registrato con cui la funzione sarà identificata nella console Google Cloud e --entry-point
specifica il nome completo della classe (FQN) della funzione.
Testa la funzione di cui è stato eseguito il deployment
Al termine del deployment della funzione, prendi nota della 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 Cloud Functions 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 ...
Usa la dashboard di Logging
Puoi visualizzare i log per Cloud Functions anche dalla console Google Cloud.
Utilizzare il pacchetto di modelli
Le sezioni precedenti spiegano come creare manualmente una funzione da zero. In futuro, utilizzerai probabilmente i modelli per creare nuove funzioni.
Per utilizzare i modelli per creare, generare e testare una funzione:
Installa .NET SDK.
Installa il pacchetto di modelli:
dotnet new install Google.Cloud.Functions.Templates
Poi, crea una directory per il progetto e usa
dotnet new
per creare una nuova funzione HTTP:mkdir HelloFunctions cd HelloFunctions dotnet new gcf-http
Vengono creati i criteri
HelloFunctions.csproj
eFunction.cs
nella directory corrente. ApriFunction.cs
per esaminare il codice ed eventualmente fornire 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. Premi Ctrl+C nella console per arrestare il server.Questa funzione visualizza 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