Guida rapida: esegui il deployment di una funzione su Cloud Run utilizzando gcloud CLI
Questa pagina mostra come utilizzare Cloud Run per eseguire il deployment di una funzione HTTP utilizzando la gcloud CLI.
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 il tuo progetto è soggetto a un criterio dell'organizzazione che limita le invocazioni non autenticate, dovrai accedere al servizio di cui è stato eseguito il deployment come descritto in Testare i servizi privati.
- Affinché Cloud Build possa compilare le tue origini, 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 numero del progetto Google Cloud ePROJECT_ID
con l'ID progetto Google Cloud. Per istruzioni dettagliate su come trovare l'ID progetto e il numero del progetto, consulta Creazione e gestione dei progetti.La propagazione del ruolo dell'account di servizio Cloud Build all'account di servizio predefinito di Compute Engine richiede un paio di minuti.
Scrivi la funzione di esempio
Per scrivere un'applicazione:
Node.js
Crea una nuova directory denominata
helloworld
e cambia directory: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 il seguente 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:Crea un file
hello_http.go
nella directoryhelloworld
con il seguente esempio di codice Go:
Java
Crea una nuova directory denominata
helloworld
e cambia directory: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:
Ruby
Crea una nuova directory denominata
helloworld
e cambia directory:mkdir helloworld cd helloworld
Crea un file denominato
app.rb
e incolla il seguente codice:Crea un file denominato
Gemfile
e copia al suo interno quanto riportato di seguito:Se non hai installato Bundler 2.0 o versioni successive, installa Bundler.
Genera un file
Gemfile.lock
eseguendo:bundle install
PHP
Crea una nuova directory denominata
helloworld
e cambia directory:mkdir helloworld cd helloworld
Crea un file denominato
index.php
e incolla il seguente codice:Se non utilizzi Cloud Shell, crea un file
composer.json
e incolla il seguente codice:
.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 campione nel file del progetto
helloworld-csharp.csproj
con quanto segue:Sostituisci il codice campione nel file
Program.cs
con il seguente:
esegui il deployment della funzione
Importante:questa guida introduttiva presuppone che tu disponga dei ruoli di proprietario o editor nel progetto che stai utilizzando. 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 campione:
Node.js
gcloud beta run deploy nodejs-http-function \ --source . \ --function helloGET \ --base-image nodejs20 \ --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
.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 la regione Google Cloud del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
us-central1
.Ruby
gcloud beta run deploy ruby-http-function \ --source . \ --function hello_get \ --base-image ruby33 \ --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
.PHP
gcloud beta run deploy php-http-function \ --source . \ --function helloGet \ --base-image php83 \ --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
..NET
gcloud beta run deploy csharp-http-function \ --source . \ --function HelloWorld.Function \ --base-image dotnet6 \ --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
.Al termine del deployment, Google Cloud CLI mostra un URL in cui è in esecuzione il servizio. Apri l'URL nel browser per visualizzare l'output della funzione.
Per scoprire come aggiungere trigger Eventarc alla tua funzione, consulta la guida su come eseguire il deployment di una funzione per istruzioni.
Esegui la pulizia
Sebbene non siano previsti addebiti per Cloud Run quando il servizio non è in uso, ti potrebbero comunque essere addebitati i costi di 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 gli attivatori utilizzando la console Google Cloud e Google Cloud CLI, consulta Eseguire il deployment delle funzioni.
Per visualizzare ed eliminare le funzioni esistenti, consulta Gestire le revisioni del servizio.
Per creare contenitori di funzioni nella tua toolchain ed eseguirne il deployment in Cloud Run, consulta Creare funzioni.