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
- 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.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
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:
gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/run.builder, roles/run.sourceDeveloper, roles/run.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
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:
gcloud services enable artifactregistry.googleapis.com
cloudbuild.googleapis.com run.googleapis.com logging.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/run.builder, roles/run.sourceDeveloper, roles/run.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- 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, dovrai accedere al servizio di cui è stato eseguito il deployment come descritto in Test dei servizi privati.
- Concedi al account di servizio Cloud Build il seguente ruolo IAM.
Fai clic per visualizzare i ruoli richiesti per il account di servizio Cloud Build
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, chiedi all'amministratore di concedere Cloud Run Builder (
roles/run.builder
) all'account di servizio predefinito di Compute Engine nel tuo progetto:gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/run.builder
Sostituisci
PROJECT_NUMBER
con il numero del tuo progetto Google CloudePROJECT_ID
con l'ID 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 Cloud Run Builder all'account di servizio Compute Engine predefinito richiede un paio di minuti per la propagazione.
Scrivi la funzione di esempio
Per scrivere una richiesta:
Node.js
Crea una nuova directory denominata
helloworld
e accedi alla 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 accedi alla directory:mkdir helloworld cd helloworld
Crea un file
requirements.txt
nella directoryhelloworld
per specificare le dipendenze Python:In questo modo vengono aggiunti i pacchetti necessari per l'esempio.
Crea un file
main.py
nella directoryhelloworld
con il seguente esempio Python:
Vai
Crea una nuova directory denominata
helloworld
e accedi alla 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 accedi alla 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 accedi alla 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 accedi alla 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 l'SDK.NET.
Dalla console, crea un nuovo progetto web vuoto utilizzando il comando dotnet.
dotnet new web -o helloworld-csharp
Cambia directory in
helloworld-csharp
:Sostituisci il codice campione nel file di progetto
helloworld-csharp.csproj
con il seguente:Sostituisci il codice campione nel file
Program.cs
con il seguente:
esegui il deployment della funzione
Importante:questa guida rapida presuppone che tu disponga dei ruoli di proprietario o editor nel progetto che utilizzi per la guida rapida. In caso contrario, consulta il ruolo Sviluppatore origine Cloud Run per le autorizzazioni necessarie per il deployment di una risorsa Cloud Run dall'origine.
Per eseguire il deployment della funzione Cloud Run, segui questi passaggi:
Esegui il deployment della funzione eseguendo questo comando nella directory che contiene lcodice campione:
Node.js
gcloud run deploy nodejs-http-function \ --source . \ --function helloGET \ --base-image nodejs22 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con la regione Google Clouddel 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 python313 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con la regione Google Clouddel servizio in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1
.Vai
gcloud run deploy go-http-function \ --source . \ --function HelloGet \ --base-image go123 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con la regione Google Clouddel 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 java21 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con la regione Google Clouddel 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 ruby34 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con la regione Google Clouddel 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-unauthenticated
Sostituisci REGION con la regione Google Clouddel 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 dotnet8 \ --region REGION \ --allow-unauthenticated
Sostituisci REGION con la regione Google Clouddel 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 tua funzione.
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 container o il progetto Google Cloud . L'eliminazione del progetto Google Cloud interrompe la fatturazione di tutte le risorse utilizzate al suo interno.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Passaggi successivi
Per eseguire il deployment di una funzione di esempio in Cloud Run utilizzando la Google Cloud console, consulta la guida rapida: esegui il deployment di una funzione in Cloud Run utilizzando la Google Cloud console.
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 le funzioni esistenti, vedi Gestire le revisioni del servizio.
Per creare container di funzioni nella tua toolchain ed eseguirne il deployment in Cloud Run, consulta Creare funzioni.
Per creare trigger con Eventarc, consulta Creare trigger con Eventarc.