Guida rapida: deployment di una funzione in Cloud Run utilizzando gcloud CLI
Questa pagina mostra come utilizzare Cloud Run per eseguire il deployment di una funzione HTTP utilizzando la CLI gcloud.
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 Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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 Artifact Registry, Cloud Build, Cloud Run Admin API, and Cloud Logging APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Per impostare il progetto predefinito per il servizio Cloud Run:
Sostituisci PROJECT_ID con il nome del progetto che hai creato per questa guida rapida.gcloud config set project PROJECT_ID
Se utilizzi un criterio dell'organizzazione che limita le chiamate non autenticate per il tuo progetto, dovrai accedere al servizio di cui hai eseguito il deployment come descritto in Test dei servizi privati.
- Affinché Cloud Build possa compilare le sorgenti, concedi il ruolo Account di servizio Cloud Build all'account di servizio predefinito di Compute Engine eseguendo quanto segue:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/cloudbuild.builds.builder
Sostituisci
PROJECT_NUMBER
con il tuo Google Cloud il numero del progetto ePROJECT_ID
con il tuo Google Cloud dell'ID progetto. Per istruzioni dettagliate su come trovare l'ID e il numero del progetto, consulta la sezione Creazione di e gestione dei progetti.Concessione del ruolo di account di servizio Cloud Build all'account di servizio predefinito Compute Engine richiede un paio di minuti per propagare.
Scrivi la funzione di esempio
Per scrivere un'applicazione, segui questi passaggi:
Node.js
Crea una nuova directory denominata
helloworld
e cambiala al suo interno:mkdir helloworld cd helloworld
Crea un file
package.json
nella directoryhelloworld
per specificare le dipendenze Node.js:Crea un file
index.js
nella directoryhelloworld
con il seguente esempio Node.js:
Python
Crea una nuova directory denominata
helloworld
e cambia directory:mkdir helloworld cd helloworld
Crea un file
requirements.txt
nella directoryhelloworld
per specificare le dipendenze Python:Vengono aggiunti i pacchetti necessari per il sample.
Crea un file
main.py
nella directoryhelloworld
con quanto segue Esempio Python:
Vai
Crea una nuova directory denominata
helloworld
e cambia directory:mkdir helloworld cd helloworld
Crea un file
go.mod
per dichiarare il modulo Go:Puoi creare il file
go.mod
direttamente nel formato mostrato oppure può inizializzarlo dalla directory del progetto con:go mod init github.com/GoogleCloudPlatform/golang-samples/functions/functionsv2/helloworld/go.mod
Crea un file
hello_http.go
nella directoryhelloworld
con seguente esempio di codice Go:
Java
Crea una nuova directory denominata
helloworld
e cambiala al suo interno:mkdir helloworld cd helloworld
Crea la seguente struttura del progetto per contenere la directory di origine e il file di origine:
mkdir -p ~/helloworld/src/main/java/functions touch ~/helloworld/src/main/java/functions/HelloWorld.java
Aggiorna il file
HelloWorld.java
con il seguente esempio di codice Java:Crea un file
pom.xml
nella directoryhelloworld
e aggiungi le seguenti dipendenze Java:
.NET
Installa .NET SDK 6.0. Questa guida rapida funziona solo per la versione 6 di .NET.
Dalla console, crea un nuovo progetto web vuoto utilizzando il comando dotnet .
dotnet new web -o helloworld-csharp
Cambia la directory in
helloworld-csharp
:Sostituisci il codice di esempio nel file del progetto
helloworld-csharp.csproj
con quanto segue:Sostituisci il codice campione nel file
Program.cs
con quanto segue:
esegui il deployment della funzione
Importante: questa guida rapida presuppone che tu disponga dei ruoli di proprietario o editor nel progetto che stai utilizzando per la guida rapida. In caso contrario, consulta il ruolo Sviluppatore di origini Cloud Run per le autorizzazioni necessarie per eseguire il deployment di una risorsa Cloud Run dall'origine.
Per eseguire il deployment della funzione Cloud Run:
Esegui il deployment della funzione eseguendo il seguente comando nella directory che contiene il codice di esempio:
Node.js
gcloud beta run deploy nodejs-http-function \ --source . \ --function helloGET \ --base-image nodejs20 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con Google Cloud region del servizio in cui vuoi eseguire il deployment personalizzata. Ad esempio:
us-central1
.Python
gcloud beta run deploy python-http-function \ --source . \ --function hello_get \ --base-image python312 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con la regione Google Cloud del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
us-central1
.Vai
gcloud beta run deploy go-http-function \ --source . \ --function HelloGet \ --base-image go122 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con la regione Google Cloud del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
us-central1
.Java
Esegui questo comando nella directory contenente il file
pom.xml
:gcloud beta run deploy java-http-function \ --source . \ --function functions.HelloWorld \ --base-image java21 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con Google Cloud region del servizio in cui vuoi eseguire il deployment personalizzata. Ad esempio:
us-central1
..NET
gcloud beta run deploy csharp-http-function \ --source . \ --function HelloWorld.Function \ --base-image dotnet6 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con Google Cloud region del servizio in cui vuoi eseguire il deployment personalizzata. Ad esempio:
us-central1
.Al termine del deployment, Google Cloud CLI visualizza un URL in cui quando il servizio è in esecuzione. Apri l'URL nel browser per visualizzare l'output della funzione.
Per scoprire come aggiungere trigger Eventarc alla funzione, consulta il Per istruzioni, consulta la guida Deployment di una funzione.
Esegui la pulizia
Sebbene Cloud Run non effettui addebiti quando il servizio non è in uso, potrebbe essere ancora addebitato per l'archiviazione dell'immagine container in Artifact Registry. Per evitare addebiti, puoi eliminare l'immagine del contenitore o il progetto Google Cloud. L'eliminazione del progetto Google Cloud interrompe la fatturazione per tutte le risorse utilizzate all'interno del progetto.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Passaggi successivi
Per eseguire il deployment di una funzione di esempio in Cloud Run utilizzando la console Google Cloud, consulta la guida rapida: esegui il deployment di una funzione in Cloud Run utilizzando la console Google Cloud.
Per eseguire il deployment delle funzioni e creare trigger utilizzando la console Google Cloud e Google Cloud CLI, consulta Eseguire il deployment delle funzioni.
Per visualizzare ed eliminare funzioni esistenti, consulta: Gestisci le revisioni dei servizi.
Per creare container di funzioni nella tua toolchain ed eseguirne il deployment Cloud Run, consulta Funzioni di build.