Questa pagina descrive come eseguire il deployment e modificare una funzione Cloud Run. Per un esempio dettagliato di deployment di una funzione Hello World, consulta Eseguire il deployment di una funzione di esempio.
I deployment delle funzioni Cloud Run utilizzano automaticamente i buildpack di Google Cloud e Cloud Build per creare immagini container dal codice sorgente della funzione. Non è necessario installare Docker sulla macchina o configurare buildpack o Cloud Build.
Anche i deployment delle funzioni Cloud Run utilizzano Artifact Registry per archiviare gli artefatti e gestire le immagini container. Artifact Registry crea automaticamente il repository Artifact Registry denominato cloud-run-source-deploy
, se il tuo progetto non ne ha già creato uno con questo nome.
Se hai funzioni esistenti e devi utilizzare il comando gcloud functions deploy
, l'API Cloud Functions v2 o la configurazione Terraform google_cloudfunctions2_function
per la compatibilità con le versioni precedenti, consulta Eseguire il deployment di funzioni con il comando gcloud functions deploy
.
Prima di iniziare
Assicurati di aver configurato un nuovo progetto per Cloud Run, come descritto nella pagina di configurazione.
Abilita le API Artifact Registry, Cloud Build, Cloud Run Admin e Cloud Logging:
gcloud services enable artifactregistry.googleapis.com \ cloudbuild.googleapis.com \ run.googleapis.com \ logging.googleapis.com
Se vuoi, abilita l'API Eventarc per utilizzare i trigger di eventi:
gcloud services enable eventarc.googleapis.com
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.
Ruoli obbligatori
Per eseguire il deployment delle funzioni Cloud Run, tu o il tuo amministratore dovete concedere i seguenti ruoli IAM all'account di deployment e al account di servizio:
Fai clic per visualizzare i ruoli richiesti per l'account di deployment
Per ottenere le autorizzazioni necessarie per creare e implementare dal codice sorgente, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Cloud Run Source Developer (
roles/run.sourceDeveloper
) sul tuo progetto - Consumer API Service Usage (
roles/serviceusage.serviceUsageConsumer
) sul tuo progetto - Utente account di servizio (
roles/iam.serviceAccountUser
) sull'identità del servizio Cloud Run
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 Cloude PROJECT_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.
Fai clic per visualizzare i ruoli richiesti per il account di servizio se utilizzi Eventarc
(Facoltativo) Se utilizzi Eventarc, concedi i seguenti ruoli alaccount di serviziot:
- Editor Cloud Build (
roles/cloudbuild.builds.editor
) - Cloud Run Admin (
roles/run.admin
) - Crea service account (
roles/iam.serviceAccountCreator
) - Cloud Run Invoker (
roles/run.invoker
) - Amministratore Eventarc (
roles/eventarc.admin
) - Amministratore IAM progetto (
roles/resourcemanager.projectIamAdmin
) - Consumer di utilizzo del servizio (
roles/serviceusage.serviceUsageConsumer
) - Amministratore spazio di archiviazione (
roles/storage.admin
)
Per saperne di più sulla concessione di ruoli specifici per i trigger Eventarc, vedi Ruoli e autorizzazioni per le destinazioni Cloud Run.
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM Cloud Run e Autorizzazioni IAM Cloud Run. Se il tuo servizio Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestire l'accesso.
Crea ed esegui il deployment di una funzione
Puoi eseguire il deployment di una funzione Cloud Run utilizzando la console Google Cloud o gcloud CLI. Fai clic sulla scheda per visualizzare le istruzioni sull'utilizzo dello strumento che preferisci.
Console
Nella console Google Cloud , vai alla pagina Cloud Run:
Fai clic su Scrivi una funzione.
Nel campo Nome servizio, inserisci un nome per descrivere la tua funzione. I nomi dei servizi devono iniziare solo con una lettera e contenere un massimo di 49 caratteri, tra cui lettere, numeri o trattini. I nomi dei servizi non possono terminare con trattini e devono essere univoci per regione e progetto. Il nome del servizio non può essere modificato in seguito ed è visibile pubblicamente.
Nell'elenco Regione, utilizza il valore predefinito o seleziona la regione in cui vuoi eseguire il deployment della funzione.
Nell'elenco Runtime, utilizza il valore predefinito o seleziona una versione del runtime.
(Facoltativo) Nella sezione Attivatore, fai clic su Aggiungi attivatore e seleziona un'opzione. Si apre il riquadro Trigger Eventarc, in cui puoi modificare i seguenti dettagli del trigger:
Nel campo Nome trigger, inserisci un nome per il trigger o utilizza il nome predefinito.
Seleziona un tipo di trigger dall'elenco per specificare uno dei seguenti tipi di trigger:
Origini Google per specificare i trigger per Pub/Sub, Cloud Storage, Firestore e altri fornitori di eventi Google.
Personalizzato per produrre e utilizzare eventi dal codice dell'applicazione. Segui le istruzioni nel riquadro Trigger Eventarc per creare un canale. Un canale è una risorsa utilizzata come pipeline per distribuire eventi personalizzati dai producer ai consumer. Gli eventi personalizzati vengono pubblicati in un canale e un trigger Eventarc si abbona a questi eventi.
Terze parti per l'integrazione con provider non Google che offrono un'origine Eventarc. Per saperne di più, vedi Eventi di terze parti in Eventarc.
Seleziona un fornitore di eventi dall'elenco per selezionare un prodotto che fornisca il tipo di evento per attivare la funzione. Per l'elenco dei fornitori di eventi, consulta Provider e destinazioni di eventi.
Seleziona un Tipo di evento dall'elenco. La configurazione del trigger varia a seconda del tipo di evento supportato. Per saperne di più, vedi Tipi di eventi.
Nel campo Regione, seleziona una località per il trigger Eventarc. In generale, la località di un trigger Eventarc deve corrispondere a quella della risorsa che vuoi monitorare per gli eventi. Google Cloud Nella maggior parte degli scenari, devi anche eseguire il deployment della funzione nella stessa regione. Consulta la sezione Informazioni sulle località Eventarc per ulteriori dettagli sulle località dei trigger Eventarc.
Nel campo Service account, seleziona un account di servizio. I trigger Eventarc sono collegati agli account di servizio da utilizzare come identità quando viene richiamata la funzione. Il account di servizio del trigger Eventarc deve disporre dell'autorizzazione per richiamare la funzione. Per impostazione predefinita, Cloud Run utilizza l'account di servizio predefinito di Compute Engine.
(Facoltativo) Specifica il percorso dell'URL del servizio a cui inviare la richiesta in entrata. Questo è il percorso relativo nel servizio di destinazione a cui devono essere inviati gli eventi per il trigger. Ad esempio:
/
,/route
,route
eroute/subroute
.Una volta compilati i campi obbligatori, fai clic su Salva attivatore.
In Autenticazione, configura quanto segue:
Se stai creando una funzione HTTP pubblica, ad esempio un webhook, seleziona Consenti chiamate non autenticate. Se selezioni questa opzione, viene assegnato il ruolo Invoker IAM all'identificatore speciale
allUser
. Puoi utilizzare IAM per modificare questa impostazione in un secondo momento dopo aver creato il servizio. Se non disponi delle autorizzazioni (ruolo Amministratore di Cloud Run) per selezionare questa opzione, il servizio verrà implementato e richiederà l'autenticazione.Se stai creando una funzione basata su eventi, seleziona Richiedi autenticazione.
(Facoltativo) Aggiorna le seguenti configurazioni aggiuntive per le tue funzioni:
Imposta Fatturazione in base alle esigenze.
In Scalabilità del servizio, se utilizzi la scalabilità automatica predefinita di Cloud Run, specifica facoltativamente le istanze minime. Se utilizzi la scalabilità manuale, specifica il numero di istanze per il servizio.
Imposta le impostazioni di controllo dell'ingresso in base alle esigenze.
Espandi la sezione Container, volumi, networking, sicurezza per impostare altre impostazioni facoltative nelle schede appropriate:
Fai clic su Crea e attendi che Cloud Run crei il servizio utilizzando una revisione segnaposto.
La console ti reindirizzerà alla scheda Origine, dove potrai visualizzare il codice sorgente della tua funzione. Fai clic su Salva e ridistribuisci.
Nella scheda Origine, puoi fare clic su Mostra payload per visualizzare un esempio di payload degli eventi in entrata.
Dopo il deployment, testa la funzione creata facendo clic sul pulsante Testa.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Aggiorna i componenti di
gcloud
all'ultima versione:gcloud components update
Esegui questo comando nella directory che contiene ilcodice campioneo:
gcloud run deploy FUNCTION \ --source . \ --function FUNCTION_ENTRYPOINT \ --base-image BASE_IMAGE \ --region REGION
Sostituisci:
FUNCTION con il nome della funzione che stai eseguendo il deployment. Puoi omettere completamente questo parametro, ma ti verrà chiesto il nome se lo ometti.
FUNCTION_ENTRYPOINT con l'entry point della tua funzione nel codice sorgente. Questo è il codice eseguito da Cloud Run quando viene eseguita la funzione. Il valore di questo flag deve essere un nome di funzione o un nome di classe completo che esiste nel codice sorgente.
BASE_IMAGE con l'ambiente dell'immagine di base per la tua funzione, ad esempio
nodejs22
,python313
,go123
,java21
,dotnet8
,ruby34
ophp84
. Per maggiori dettagli sulle immagini di base e sui pacchetti inclusi in ciascuna immagine, vedi Immagini di base dei runtime.REGION con la Google Cloud regione in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1
.
Facoltativamente,
- Se stai creando una funzione HTTP pubblica, ad esempio un webhook,
specifica il flag
--allow-unauthenticated
. Questo flag assegna il ruolo Invoker IAM di Cloud Run all'identificatore specialeallUser
. Puoi utilizzare IAM per modificare questa impostazione in un secondo momento dopo aver creato il servizio. Se stai creando una funzione attivata da eventi o un servizio autenticato, puoi omettere questo flag.
Facoltativamente, dopo aver eseguito il deployment della funzione, puoi aggiungere trigger Eventarc alla funzione. Per aggiungere un trigger, esegui questo comando:
gcloud eventarc triggers create EVENTARC_TRIGGER_NAME \
--location=EVENTARC_TRIGGER_LOCATION \
--destination-run-service=FUNCTION \
--destination-run-region=REGION \
--event-filters="type=EVENTARC_FILTER_TYPE" \
--event-filters="EVENTARC_EVENT_FILTER" \
--service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT
Sostituisci:
EVENTARC_TRIGGER_NAME con il nome del trigger Eventarc.
EVENTARC_TRIGGER_LOCATION con la posizione del trigger Eventarc. In generale, la località di un trigger Eventarc deve corrispondere a quella della risorsa che vuoi monitorare per gli eventi. Google Cloud Nella maggior parte degli scenari, devi anche eseguire il deployment della funzione nella stessa regione. Consulta la sezione Informazioni sulle località Eventarc per ulteriori dettagli sulle località dei trigger Eventarc.
FUNCTION con il nome della funzione di cui è stato eseguito il deployment.
REGION con la regione di Cloud Run della funzione.
EVENTARC_FILTER_TYPE con i filtri eventi monitorati dal trigger. Un evento che corrisponde a tutti i filtri
--event-filters
attiva le chiamate alla tua funzione. Ogni attivatore deve avere un tipo di evento supportato nel formato--event-filters="type=EVENTARC_FILTER_TYPE"
. Questo tipo di evento non può essere modificato dopo la creazione. Per modificareEVENT_FILTER_TYPE
, crea un nuovo trigger ed elimina quello precedente. Se vuoi, puoi ripetere il flag--event-filters
con un filtro supportato nel formatoATTRIBUTE=VALUE
per aggiungere altri filtri.EVENTARC_TRIGGER_SERVICE_ACCOUNT con un account di servizio. I trigger Eventarc sono collegati agli account di servizio da utilizzare come identità quando viene richiamata la funzione. Il account di servizio del trigger Eventarc deve disporre dell'autorizzazione per richiamare la funzione. Per impostazione predefinita, Cloud Run utilizza il service account Compute predefinito.
Terraform
Per gestire le funzioni utilizzando Terraform,
devi creare il codice della funzione in un'immagine container, quindi definire il servizio Cloud Run in una configurazione Terraform utilizzando la risorsa google_cloud_run_v2_service
del provider Google Cloud.
Segui le istruzioni per creare una funzione da zero per creare un'immagine container compatibile con gli aggiornamenti automatici della sicurezza. Copia il percorso completo dell'immagine container per la variabile IMAGE_URL utilizzata nel passaggio successivo.
Crea un nuovo file
main.tf
con questi contenuti:provider "google" { project = "PROJECT-ID" } resource "google_cloud_run_v2_service" "default" { name = "SERVICE" location = "REGION" client = "terraform" template { containers { name = "SERVICE" image = "IMAGE_URL" # Container image built from your function in the previous step. base_image_uri = "BASE_IMAGE" } } build_config{ function_target = "FUNCTION_TARGET" image_uri = "IMAGE_URL" base_image = "BASE_IMAGE" enable_automatic_updates = true } } resource "google_cloud_run_v2_service_iam_member" "noauth" { location = google_cloud_run_v2_service.default.location name = google_cloud_run_v2_service.default.name role = "roles/run.invoker" member = "allUsers" }
Sostituisci:
- PROJECT-ID con l' Google Cloud ID progetto.
- REGION con la regione Google Cloud . Ad esempio
europe-west1
. - SERVICE con il nome del tuo servizio Cloud Run. I nomi dei servizi devono contenere al massimo 49 caratteri e devono essere univoci per regione e progetto.
- IMAGE_URL con un riferimento all'immagine container contenente solo la funzione creata
- BASE_IMAGE con l'ambiente dell'immagine di base per la tua
funzione, ad esempio
nodejs22
,python313
,go123
,java21
,dotnet8
,ruby34
ophp84
. Per maggiori dettagli sulle immagini di base e sui pacchetti inclusi in ciascuna immagine, vedi Immagini di base dei runtime. - FUNCTION_TARGET con il nome della funzione che vuoi utilizzare come punto di ingresso.
Questa configurazione consente l'accesso pubblico (l'equivalente di
--allow-unauthenticated
). Per rendere privato il servizio, rimuovi la sezionegoogle_cloud_run_v2_service_iam_member
.Inizializza Terraform:
terraform init
Applica la configurazione Terraform:
terraform apply
Conferma di voler applicare le azioni descritte inserendo
yes
.
Località Cloud Run
Cloud Run è regionale, il che significa che l'infrastruttura che
esegue i tuoi servizi Cloud Run si trova in una regione specifica ed è
gestita da Google per essere disponibile in modo ridondante in
tutte le zone all'interno di quella regione.
Il rispetto dei requisiti di latenza, disponibilità o durabilità sono fattori
primari per la selezione della regione in cui vengono eseguiti i servizi Cloud Run.
In genere puoi selezionare la regione più vicina ai tuoi utenti, ma devi considerare
la posizione degli altri Google Cloud
prodotti utilizzati dal tuo servizio Cloud Run.
L'utilizzo Google Cloud combinato di prodotti in più località può influire sulla latenza e sui costi del servizio.
Cloud Run è disponibile nelle seguenti regioni:
Soggetto ai prezzi di Livello 1
asia-east1
(Taiwan)asia-northeast1
(Tokyo)asia-northeast2
(Osaka)asia-south1
(Mumbai, India)europe-north1
(Finlandia)Bassi livelli di CO2
europe-north2
(Stoccolma)Bassi livelli di CO2
europe-southwest1
(Madrid)Bassi livelli di CO2
europe-west1
(Belgio)Bassi livelli di CO2
europe-west4
(Paesi Bassi)Bassi livelli di CO2
europe-west8
(Milano)europe-west9
(Parigi)Bassi livelli di CO2
me-west1
(Tel Aviv)northamerica-south1
(Messico)us-central1
(Iowa)Bassi livelli di CO2
us-east1
(Carolina del Sud)us-east4
(Virginia del Nord)us-east5
(Columbus)us-south1
(Dallas)Bassi livelli di CO2
us-west1
(Oregon)Bassi livelli di CO2
Soggetto ai prezzi di Livello 2
africa-south1
(Johannesburg)asia-east2
(Hong Kong)asia-northeast3
(Seul, Corea del Sud)asia-southeast1
(Singapore)asia-southeast2
(Giacarta)asia-south2
(Delhi, India)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsavia, Polonia)europe-west10
(Berlino)Bassi livelli di CO2
europe-west12
(Torino)europe-west2
(Londra, Regno Unito)Bassi livelli di CO2
europe-west3
(Francoforte, Germania)Bassi livelli di CO2
europe-west6
(Zurigo, Svizzera)Bassi livelli di CO2
me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montreal)Bassi livelli di CO2
northamerica-northeast2
(Toronto)Bassi livelli di CO2
southamerica-east1
(San Paolo, Brasile)Bassi livelli di CO2
southamerica-west1
(Santiago, Cile)Bassi livelli di CO2
us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)
Se hai già creato un servizio Cloud Run, puoi visualizzare la regione nella dashboard di Cloud Run nella consoleGoogle Cloud .
Attivare i nuovi tentativi di eventi
Eventarc utilizza Pub/Sub come livello di trasporto e ha una policy di ripetizione predefinita che potrebbe non funzionare bene per la tua funzione.
Dopo aver creato un trigger Eventarc, ti consigliamo vivamente di aggiornare le norme sui nuovi tentativi in Eventarc e di configurare l'argomento dead letter in Pub/Sub.
Specifica un repository di immagini
I deployment delle funzioni Cloud Run utilizzano Artifact Registry per archiviare gli artefatti
e gestire le immagini container. Artifact Registry crea automaticamente il repository
Artifact Registry REGION-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy
se il tuo progetto non ne ha già creato uno con questo nome.
Per specificare un repository Artifact Registry creato autonomamente, utilizza il seguente comando:
gcloud
gcloud run deploy FUNCTION \ --source . \ --function FUNCTION_ENTRYPOINT \ --base-image BASE_IMAGE \ --region REGION \ --image IMAGE_URL
Sostituisci quanto segue:
FUNCTION con il nome della funzione che stai eseguendo il deployment. Puoi omettere completamente questo parametro, ma ti verrà chiesto il nome se lo ometti.
FUNCTION_ENTRYPOINT con l'entry point della tua funzione nel codice sorgente. Questo è il codice eseguito da Cloud Run quando viene eseguita la funzione. Il valore di questo flag deve essere un nome di funzione o un nome di classe completo che esiste nel codice sorgente.
BASE_IMAGE con l'ambiente dell'immagine di base per la tua funzione, ad esempio
nodejs22
,python313
,go123
,java21
,dotnet8
,ruby34
ophp84
. Per maggiori dettagli sulle immagini di base e sui pacchetti inclusi in ciascuna immagine, vedi Immagini di base dei runtime.REGION con la Google Cloud regione in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1
.IMAGE_URL con un riferimento al percorso dell'immagine utilizzando il repository di immagini Artifact Registry di tua scelta, ad esempio
projects/PROJECT_NAME/locations/LOCATION/repositories/REPOSITORY_NAME/FUNCTION
. Il nome dell'immagine deve corrispondere al nome della funzione che vuoi creare. Se viene fornito solo il percorso del repository, l'immagine verrà creata utilizzando il nome della funzione FUNCTION.
Quando specifichi un repository Artifact Registry che si trova in un progetto o in una regione diversi, devi considerare quanto segue:
Configurazioni IAM:
- Assicurati di aver configurato le autorizzazioni IAM per il deployment delle immagini da altri Google Cloud progetti
- Inoltre, assicurati che il account di servizio di build abbia l'accesso autorizzato per leggere e scrivere in REPOSITORY.
Configurazioni di rete:
- Assicurati che il target REPOSITORY sia raggiungibile dalla configurazione del progetto corrente.
Configurazioni dei Controlli di servizio VPC:
- Assicurati che il account di servizio di build possa raggiungere la destinazione REPOSITORY all'interno del perimetro VPC-SC.
Limitazioni della residenza dei dati:
- Tieni presente che specificare un REPOSITORY in una regione diversa da quella in cui si trova la tua funzione comporterà il trasferimento di dati tra regioni.
Modificare una funzione esistente
Puoi modificare la configurazione o il codice della funzione:
Modifica configurazione
Per modificare i parametri di configurazione, come le opzioni di fatturazione, la memoria e la connettività VPC, segui le istruzioni nella scheda appropriata:
Console
Nella console Google Cloud , vai alla pagina Cloud Run:
Individua il servizio che vuoi aggiornare nell'elenco dei servizi e fai clic per aprire i relativi dettagli.
Fai clic su Modifica ed esegui il deployment di una nuova revisione per visualizzare il modulo di deployment della revisione.
Modifica qualsiasi impostazione di configurazione.
Fai clic su Esegui il deployment e attendi il completamento del deployment.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Per aggiornare una o più impostazioni di configurazione del servizio, utilizza il comando
gcloud run services update SERVICE
con i flag della riga di comando della configurazione che vuoi aggiornare. Sostituisci SERVICE con il nome del servizio.
Esegui nuovamente il deployment del nuovo codice sorgente
Puoi modificare l'immagine di base, il runtime e il codice sorgente della funzione utilizzando la Google Cloud console o gcloud CLI.
Fai clic sulla scheda relativa alle istruzioni per l'utilizzo dello strumento che preferisci.
Console
Nella console Google Cloud , vai alla pagina Cloud Run:
Individua la funzione che vuoi aggiornare nell'elenco Servizi e fai clic per aprire i dettagli della funzione.
Vai alla scheda Origine e fai clic su Modifica origine.
Fai clic su
Modifica aggiornamenti di runtime e sicurezza accanto a Immagine di base e seleziona un runtime o un ambiente diverso dall'elenco in base alle esigenze, quindi fai clic su Salva.Modifica l'entry point della funzione in base alle esigenze.
Nella sezione File, seleziona
Aggiungi file per creare un nuovo file, Rinomina file per rinominare un file, o Elimina file per eliminare un file.Nella sezione Codice, modifica il codice sorgente in base alle tue esigenze.
Fai clic su Salva e riesegui il deployment e attendi il completamento del deployment.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Esegui questo comando nella directory che contiene il codice sorgente della funzione:
gcloud run deploy FUNCTION \ --source . \ --function FUNCTION_ENTRYPOINT \ --base-image BASE_IMAGE \ --region REGION
Sostituisci:
FUNCTION con il nome della funzione da modificare.
FUNCTION_ENTRYPOINT con il punto di ingresso della funzione nel codice sorgente.
BASE_IMAGE con l'ambiente dell'immagine di base per la tua funzione, ad esempio
nodejs22
,python313
,go123
,java21
,dotnet8
,ruby34
ophp84
.In alternativa, se vuoi utilizzare un pacchetto di sistema specifico nello stack o specificare la regione da cui scaricare l'immagine di base, puoi specificare una delle seguenti opzioni:
- Il percorso completo dell'immagine di base, ad esempio
us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22
. Questa opzione ti consente di specificare l'immagine di base, un pacchetto di sistema specifico nello stack e la regione da cui viene scaricata l'immagine di base. - L'alias del percorso completo dell'immagine di base, ad esempio
google-22/nodejs22
ogoogle-22-full/nodejs22
. Questa opzione di alias più breve ti consente di specificare l'immagine di base e un pacchetto di sistema specifico nello stack.
Per maggiori dettagli sulle immagini di base e sui pacchetti inclusi in ogni immagine, vedi Immagini di base del runtime.
- Il percorso completo dell'immagine di base, ad esempio
REGION con la Google Cloud regione in cui vuoi eseguire il deployment della funzione. Ad esempio:
europe-west1
.
Flag facoltativi
Puoi configurare i seguenti flag facoltativi durante la modifica della funzione:
Variabili di ambiente di build flag per specificare le variabili di ambiente durante il passaggio di build, ad esempio per configurare certificati o parametri specifici per la build.
Flag worker pool per specificare quale pool di worker utilizzare nel contesto di build protetto di Controlli di servizio VPC.
Flag Custom build service accounts per specificare un'alternativa al account di servizio di build predefinito per una maggiore sicurezza.
Aggiornamenti automatici dell'immagine di base per disattivare gli aggiornamenti automatici. Per impostazione predefinita, le funzioni hanno gli aggiornamenti automatici della sicurezza attivati.
Passaggi successivi
Dopo aver eseguito il deployment di una nuova funzione Cloud Run, puoi:
- Visualizzare o eliminare le funzioni
- Gestire i servizi
- Visualizza i log
- Crea container di funzioni nella tua toolchain e implementali in Cloud Run
- Attivazione con eventi
- Attivare funzioni da Cloud Storage utilizzando Eventarc