Guida rapida: esegui il deployment di una funzione Cloud Run utilizzando gcloud CLI
Questa pagina mostra come eseguire il deployment di una funzione Cloud Run HTTP utilizzando gcloud CLI.
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 senza costi per l'esecuzione, il test e il deployment dei workload.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Abilita le API Artifact Registry, Cloud Build, Cloud Run Admin e Cloud Logging:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com -
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Se utilizzi un progetto esistente per questa guida, verifica di disporre delle autorizzazioni necessarie per completare la guida. Se hai creato un nuovo progetto, disponi già delle autorizzazioni necessarie.
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Abilita le API Artifact Registry, Cloud Build, Cloud Run Admin e Cloud Logging:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com - Per impostare il progetto predefinito per il tuo 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 con restrizioni di dominio che limitano le chiamate non autenticate, devi accedere al servizio di cui è stato eseguito il deployment come descritto in Test dei servizi privati.
- Consulta i prezzi di Cloud Run o stima i costi con il Calcolatore prezzi.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per completare questa guida rapida, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Cloud Run Admin (
roles/run.admin) sul progetto -
Cloud Run Source Developer (
roles/run.sourceDeveloper) sul progetto -
Service Account User (
roles/iam.serviceAccountUser) sull'identità di servizio -
Visualizzatore log (
roles/logging.viewer) sul progetto
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Concedi al account di servizio Cloud Build l'accesso al tuo progetto
Cloud Build utilizza automaticamente l'account di servizio predefinito di Compute Engine come account di servizio Cloud Build predefinito per creare il codice sorgente e la risorsa Cloud Run, a meno che tu non esegua l'override di questo comportamento.
Affinché Cloud Build possa creare le tue origini, concedi al service account Cloud Build il ruolo Cloud Run Builder (roles/run.builder) nel tuo progetto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \ --role=roles/run.builder
Sostituisci PROJECT_ID con il tuo ID progetto Google Cloude SERVICE_ACCOUNT_EMAIL_ADDRESS con l'indirizzo email del account di servizio Cloud Build. Se utilizzi il account di servizio predefinito di Compute Engine come account di servizio Cloud Build, utilizza il seguente formato per l'indirizzo email del account di servizio:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Sostituisci PROJECT_NUMBER con il numero del tuo progetto Google Cloud.
Per istruzioni dettagliate su come trovare l'ID progetto e il numero di progetto, vedi Creazione e gestione dei progetti.
La concessione del ruolo di builder Cloud Run richiede un paio di minuti per la propagazione.
Scrivi la funzione di esempio
Per scrivere una richiesta:
Node.js
Crea una nuova directory denominata
helloworlde passa a questa directory:mkdir helloworld cd helloworldCrea un file
package.jsonnella directoryhelloworldper specificare le dipendenze di Node.js:Crea un file
index.jsnella directoryhelloworldcon il seguente esempio Node.js:
Python
Crea una nuova directory denominata
helloworlde passa a questa directory:mkdir helloworld cd helloworldCrea un file
requirements.txtnella directoryhelloworldper specificare le dipendenze Python:In questo modo vengono aggiunti i pacchetti necessari per l'esempio.
Crea un file
main.pynella directoryhelloworldcon il seguente esempio Python:
Go
Crea una nuova directory denominata
helloworlde passa a questa directory:mkdir helloworld cd helloworldCrea un file
go.modper dichiarare il modulo Go:Crea un file
hello_http.gonella directoryhelloworldcon il seguente esempio di codice Go:
Java
Crea una nuova directory denominata
helloworlde passa a questa directory:mkdir helloworld cd helloworldCrea la seguente struttura del progetto per contenere la directory di origine e il file sorgente:
mkdir -p ~/helloworld/src/main/java/functions touch ~/helloworld/src/main/java/functions/HelloWorld.javaAggiorna il file
HelloWorld.javacon il seguente esempio di codice Java:Crea un file
pom.xmlnella directoryhelloworlde aggiungi le seguenti dipendenze Java:
Ruby
Crea una nuova directory denominata
helloworlde passa a questa directory:mkdir helloworld cd helloworldCrea un file denominato
app.rbe incolla il seguente codice:Crea un file denominato
Gemfilee copia al suo interno quanto segue:Se non hai installato Bundler 2.0 o versioni successive, installa Bundler.
Genera un file
Gemfile.lockeseguendo:bundle install
PHP
Crea una nuova directory denominata
helloworlde passa a questa directory:mkdir helloworld cd helloworldCrea un file denominato
index.phpe incolla il seguente codice:Se non utilizzi Cloud Shell, crea un file
composer.jsone incolla il seguente codice:
.NET
Installa l'SDK.NET.
Dalla console, crea un nuovo progetto web vuoto utilizzando il comando dotnet.
dotnet new web -o helloworld-csharpPassa alla directory
helloworld-csharp:Sostituisci il codice campione nel file di progetto
helloworld-csharp.csprojcon il seguente:Sostituisci il codice campione nel file
Program.cscon il seguente:
esegui il deployment della funzione
Per eseguire il deployment della funzione Cloud Run, segui questi passaggi:
Esegui il deployment della funzione eseguendo questo comando nella directory che contiene il codice campione:
Node.js
gcloud run deploy nodejs-http-function \ --source . \ --function helloGET \ --base-image nodejs24 \ --region REGION \ --allow-unauthenticatedSostituisci REGION con la Google Cloud regione del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1.Python
gcloud run deploy python-http-function \ --source . \ --function hello_get \ --base-image python314 \ --region REGION \ --allow-unauthenticatedSostituisci REGION con la Google Cloud regione del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1.Go
gcloud run deploy go-http-function \ --source . \ --function HelloGet \ --base-image go126 \ --region REGION \ --allow-unauthenticatedSostituisci REGION con la Google Cloud regione del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1.Java
Esegui questo comando nella directory che contiene il file
pom.xml:gcloud run deploy java-http-function \ --source . \ --function functions.HelloWorld \ --base-image java25 \ --region REGION \ --allow-unauthenticatedSostituisci REGION con la Google Cloud regione del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1.Ruby
gcloud run deploy ruby-http-function \ --source . \ --function hello_get \ --base-image ruby40 \ --region REGION \ --allow-unauthenticatedSostituisci REGION con la Google Cloud regione del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1.PHP
gcloud run deploy php-http-function \ --source . \ --function helloGet \ --base-image php84 \ --region REGION \ --allow-unauthenticatedSostituisci REGION con la Google Cloud regione del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1..NET
gcloud run deploy csharp-http-function \ --source . \ --function HelloWorld.Function \ --base-image dotnet10 \ --region REGION \ --allow-unauthenticatedSostituisci REGION con la Google Cloud regione del servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1.Al termine del deployment, Google Cloud CLI mostra un URL in cui il servizio è in esecuzione. Apri l'URL nel browser per visualizzare l'output della funzione.
Esegui la pulizia
Per evitare costi aggiuntivi al tuo account Google Cloud , elimina tutte le risorse che hai eseguito il deployment con questa guida rapida.
Eliminare il repository
Cloud Run non ti addebita costi quando il servizio di cui hai eseguito il deployment non è in uso. Tuttavia, potresti comunque pagare l'archiviazione dell'immagine container in Artifact Registry. Per eliminare i repository Artifact Registry, segui i passaggi descritti in Eliminare i repository nella documentazione di Artifact Registry.
Eliminare il servizio
I servizi Cloud Run non comportano costi finché non ricevono richieste. Per eliminare il servizio Cloud Run, segui uno di questi passaggi:
Console
Per eliminare un servizio:
Nella console Google Cloud , vai alla pagina Servizi di Cloud Run:
Individua il servizio che vuoi eliminare nell'elenco dei servizi e fai clic sulla relativa casella di controllo per selezionarlo.
Fai clic su Elimina. Vengono eliminate tutte le revisioni del servizio.
gcloud
Per eliminare un servizio, esegui questo comando:
gcloud run services delete SERVICE --region REGION
Sostituisci quanto segue:
- SERVICE: il nome del servizio.
- REGION: Google Cloud regione del servizio.
Eliminare il progetto di test
L'eliminazione del progetto Google Cloud interrompe la fatturazione per tutte le risorse al suo interno. Per rilasciare tutte le Google Cloud risorse nel progetto:
Elimina un progetto Google Cloud :
gcloud projects delete PROJECT_ID
Passaggi successivi
Per eseguire il deployment di una funzione di esempio su Cloud Run utilizzando la console Google Cloud , consulta la guida rapida: esegui il deployment di una funzione su Cloud Run utilizzando la console Google Cloud .
Per eseguire il deployment di funzioni e creare trigger utilizzando la console Google Cloud e Google Cloud CLI, consulta Esegui il deployment di funzioni.
Per visualizzare ed eliminare le funzioni esistenti, consulta Gestisci le revisioni del servizio.
Per creare container di funzioni nella tua toolchain ed eseguirne il deployment in Cloud Run, consulta Crea funzioni.
Per creare trigger con Eventarc, consulta Crea trigger con Eventarc.