Esegui il deployment di una funzione Cloud Run (1ª generazione.)
Questa guida mostra come eseguire il deployment di una funzione Cloud Run dal codice sorgente.
Il processo di deployment prende il codice sorgente e le impostazioni di configurazione e crea un'immagine eseguibile gestita automaticamente dalle funzioni Cloud Run per gestire le richieste alla tua funzione.
Nozioni di base sul deployment
Gli utenti che eseguono il deployment delle funzioni Cloud Run devono disporre del ruolo IAM Sviluppatore di funzioni Cloud Run o di un ruolo che includa le stesse autorizzazioni. Consulta anche Configurazione aggiuntiva per il deployment.
Seleziona una scheda per le istruzioni per eseguire il deployment di una funzione utilizzando gcloud CLI o la console Google Cloud.
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.
Utilizza il comando
gcloud functions deploy
per eseguire il deployment di una funzione:gcloud functions deploy YOUR_FUNCTION_NAME \ [--gen2] \ --region=YOUR_REGION \ --runtime=YOUR_RUNTIME \ --source=YOUR_SOURCE_LOCATION \ --entry-point=YOUR_CODE_ENTRYPOINT \ TRIGGER_FLAGS
Il primo argomento,
YOUR_FUNCTION_NAME
, è un nome per la funzione di cui è stato eseguito il deployment. Il nome della funzione deve iniziare con una lettera followed da un massimo di 62 lettere, numeri, trattini o trattini bassi e deve terminare con una lettera o un numero.Il flag
--gen2
specifica che vuoi eseguire il deployment in Cloud Run Functions. A partire da settembre 2024, questo diventa l'impostazione predefinita. Per eseguire il deployment nella 1ª generazione, utilizza--no-gen2
.Il flag
--region
specifica la regione in cui eseguire il deployment della funzione. Consulta Località per un elenco delle regioni supportate dalle funzioni Cloud Run.Il flag
--runtime
specifica il runtime della lingua utilizzato dalla funzione. Cloud Run supporta diversi runtime. Per ulteriori informazioni, consulta Runtime.Il flag
--source
specifica la posizione del codice sorgente della funzione. Per maggiori dettagli, consulta le seguenti sezioni:Il flag
--entry-point
specifica il punto di ingresso della funzione nel codice sorgente. Questo è il codice che verrà eseguito quando viene eseguita la funzione. Il valore di questo flag deve essere un nome funzione o un nome classe completo esistente nel codice sorgente. Per ulteriori informazioni, consulta Entry point della funzione.Per specificare l'attivatore per la funzione, sono necessari flag aggiuntivi (rappresentati come
TRIGGER_FLAGS
sopra), a seconda dell'attivatore che vuoi utilizzare:
Flag di attivazione Descrizione trigger --trigger-http
Attiva la funzione con una richiesta HTTP(S). Per ulteriori informazioni, consulta Scatenatori HTTP. --trigger-topic=YOUR_PUBSUB_TOPIC
Attiva la funzione quando viene pubblicato un messaggio nell'argomento Pub/Sub specificato. Per ulteriori informazioni, consulta la sezione Attivatori Pub/Sub. --trigger-bucket=YOUR_STORAGE_BUCKET
Attiva la funzione quando un oggetto viene creato o sovrascritto nel bucket Cloud Storage specificato. Per ulteriori informazioni, consulta Trigger Cloud Storage. --trigger-event=EVENT_TYPE
[--trigger-resource=RESOURCE]Attiva la funzione quando si verifica l'evento specificato. La specifica di una risorsa è obbligatoria per alcuni tipi di eventi. Per ulteriori informazioni, consulta Trigger supportati nelle funzioni Cloud Run (1ª generazione.). Facoltativamente, puoi specificare opzioni aggiuntive di configurazione, networking e sicurezza quando esegui il deployment di una funzione.
Per un riferimento completo al comando di deployment e ai relativi flag, consulta la documentazione di
gcloud functions deploy
.Per alcuni comandi di deployment di esempio, consulta Esempi di riga di comando.
Console
Vai alla pagina Panoramica delle funzioni Cloud Run nella console Google Cloud:
Assicurati che sia selezionato il progetto Google Cloud in cui vuoi eseguire il deployment delle funzioni Cloud Run.
Fai clic su Crea funzione.
Nel campo Ambiente, seleziona 1ª gen..
Nel campo Nome funzione, inserisci un nome per la funzione. Il nome della funzione deve iniziare con una lettera seguita da un massimo di 62 lettere, numeri, trattini o trattini bassi e deve terminare con una lettera o un numero.
Nel campo Regione, seleziona una regione in cui eseguire il deployment della funzione.
Nella sezione Attivazione, segui i passaggi in base all'ambiente selezionato:
- Nella sezione Autenticazione HTTPS, seleziona l'opzione appropriata a seconda che tu voglia consentire o meno le chiamate non autenticate della funzione. Per impostazione predefinita, l'autenticazione è obbligatoria. Per ulteriori informazioni, consulta Autenticazione per l'invocazione.
- Nel campo Tipo di attivatore, seleziona un tipo di attivatore. Per ulteriori dettagli, consulta Trigger supportati nelle funzioni Cloud Run (1ª generazione.).
- Completa i campi aggiuntivi per il tipo di attivatore selezionato.
- Fai clic su Salva.
Se vuoi, espandi la sezione Runtime, build… alla fine della pagina per visualizzare altre opzioni di configurazione e sicurezza.
Fai clic su Avanti per passare al passaggio Codice.
Nel campo Runtime, seleziona il runtime della lingua utilizzato dalla funzione. Le funzioni Cloud Run supportano diversi runtime. Per ulteriori informazioni, consulta Runtime.
Nel campo Entry point (Punto di ingresso), inserisci il punto di ingresso della funzione nel codice sorgente. Questo è il codice che verrà eseguito quando viene eseguita la funzione. Il valore di questo flag deve essere un nome di funzione o un nome di classe completamente qualificato esistente nel codice sorgente. Per ulteriori informazioni, consulta Punto di ingresso della funzione.
Nel campo Codice sorgente, seleziona l'opzione appropriata per la modalità di indicazione del codice sorgente della funzione. Per maggiori dettagli, consulta le sezioni seguenti:
Fai clic su Esegui il deployment.
Al termine del deployment, le funzioni vengono visualizzate con un segno di spunta verde nella pagina Panoramica delle funzioni Cloud Run della console Google Cloud:
Il deployment iniziale di una funzione potrebbe richiedere diversi minuti, mentre viene eseguito il provisioning dell'infrastruttura di base. Il ricollocamento di una funzione esistente è più rapido e il traffico in entrata viene migrato automaticamente alla versione più recente.
Esegui il deployment dal computer locale
Questa sezione descrive come eseguire il deployment di una funzione dal codice sorgente situato sulla tua macchina locale.
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.
Segui le istruzioni di implementazione riportate sopra utilizzando il comando
gcloud functions deploy
.Per il flag
--source
, specifica un percorso del file system locale alla directory radice del codice sorgente della funzione. Consulta la sezione Struttura della directory di origine. Se questo flag viene omesso, viene utilizzata la directory di lavoro corrente.Se vuoi, puoi anche utilizzare il flag
--stage-bucket
per specificare un bucket Cloud Storage in cui caricare il codice sorgente durante il deployment.Durante il caricamento del codice sorgente, le funzioni Cloud Run escludono i file non necessari tramite il file
.gcloudignore
.
Console
- Segui le istruzioni di implementazione riportate sopra utilizzando la console Google Cloud fino a raggiungere il campo Codice sorgente.
- Nel campo Codice sorgente, seleziona Carica file ZIP.
- Nel campo Bucket di destinazione, fai clic su Sfoglia per selezionare un bucket Cloud Storage in cui caricare il codice sorgente come parte del deployment.
- Nel campo File ZIP, fai clic su Sfoglia per selezionare un file ZIP da caricare dal file system locale. I file di origine della funzione devono trovarsi nella directory radice del file ZIP. Consulta la struttura della directory di origine.
- Fai clic su Esegui il deployment.
Esegui il deployment da Cloud Storage
Questa sezione descrive come eseguire il deployment di una funzione dal codice sorgente situato in un bucket Cloud Storage. Il codice sorgente deve essere pacchettizzato come file ZIP.
Affinché le funzioni Cloud Run possano leggere da un bucket Cloud Storage, devi concedere l'autorizzazionestorage.objects.get
all'account che esegue il deployment.
Per informazioni sul controllo dell'accesso ai bucket, consulta Utilizzare le autorizzazioni IAM nella documentazione di Cloud Storage.
Con questa autorizzazione ora puoi eseguire il deployment di una funzione da Cloud Storage:
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.
Segui le istruzioni di implementazione riportate sopra utilizzando il comando
gcloud functions deploy
.Per il flag
--source
, specifica un percorso Cloud Storage che inizi congs://
. L'oggetto nel percorso deve essere un file ZIP contenente il codice sorgente della funzione. I file di origine della funzione devono trovarsi nella directory principale del file ZIP; consulta la sezione Struttura della directory di origine.
Console
- Segui le istruzioni di implementazione riportate sopra utilizzando la console Google Cloud fino a raggiungere il campo Codice sorgente.
- Nel campo Codice sorgente, seleziona ZIP da Cloud Storage.
- Nel campo Posizione Cloud Storage, fai clic su Sfoglia per selezionare un file ZIP da Cloud Storage. I file di origine della funzione devono trovarsi nella directory radice del file ZIP. Consulta la struttura della directory di origine.
- Fai clic su Esegui il deployment.
Esegui il deployment dall'editor in linea della console Google Cloud
Questa sezione descrive come scrivere ed eseguire il deployment di una funzione direttamente dalla console Google Cloud utilizzando l'editor in linea fornito.
- Segui le istruzioni di implementazione riportate sopra utilizzando la console Google Cloud fino a raggiungere il campo Codice sorgente.
- Nel campo Codice sorgente, seleziona Editor incorporato.
- Utilizza l'editor fornito per creare o modificare i file di origine, se necessario. Consulta la struttura della directory di origine.
- Il riquadro a sinistra elenca i file di origine e ti consente di crearli, rinominarli e eliminarli.
- Il riquadro a destra è un editor di testo che ti consente di modificare i contenuti del file.
- Fai clic su Esegui il deployment.
Esempi di riga di comando
Questa sezione mostra i comandi di deployment per alcuni scenari di deployment di esempio.
Per informazioni dettagliate sui diversi trigger supportati dalle funzioni Cloud Run, consulta Trigger delle funzioni Cloud Run.
Funzione HTTP dal codice sorgente locale
Supponiamo che tu abbia una funzione HTTP come segue:
- La funzione utilizza Node.js 20.
- Il codice sorgente si trova nella directory di lavoro corrente (
.
). - Il punto di ingresso nel codice si chiama
myHttpFunction
.
Per eseguire il deployment della funzione nelle funzioni Cloud Run con il nome
my-http-function
nella regione us-central1
, utilizza il seguente comando:
gcloud functions deploy my-http-function \
--no-gen2 \
--region=us-central1 \
--runtime=nodejs20 \
--source=. \
--entry-point=myHttpFunction \
--trigger-http
Funzione Pub/Sub dal codice sorgente in Cloud Storage
Supponiamo che tu abbia una funzione basata sugli eventi come segue:
- La funzione gestisce gli eventi di pubblicazione dei messaggi Pub/Sub.
- La funzione utilizza Python 3.12.
- Il codice sorgente si trova in Cloud Storage nel percorso
gs://my-bucket/my_function_source.zip
. - Il punto di ingresso nel codice si chiama
pubsub_handler
.
Per eseguire il deployment della funzione nelle funzioni Cloud Run con il nome my-pubsub-function
nella regione europe-west1
e attivarla tramite i messaggi nell'argomento Pub/Sub my-topic
, utilizza il seguente comando:
gcloud functions deploy my-pubsub-function \
--no-gen2 \
--region=europe-west1 \
--runtime=python312 \
--source=gs://my-bucket/my_function_source.zip \
--entry-point=pubsub_handler \
--trigger-topic=my-topic
Funzione Cloud Storage dal codice sorgente locale
Supponiamo che tu abbia una funzione basata sugli eventi come segue:
- La funzione gestisce gli eventi di eliminazione degli oggetti Cloud Storage.
- La funzione utilizza Java 17.
- Il codice sorgente si trova localmente nel percorso
./functions/storage-function
. - Il punto di ingresso nel codice si chiama
myproject.StorageFunction
.
Per eseguire il deployment della funzione nelle funzioni Cloud Run con il nome my-storage-function
nella regione asia-northeast1
e attivarla tramite eventi nel bucket Cloud Storage my-bucket
, utilizza il seguente comando:
gcloud functions deploy my-storage-function \
--no-gen2 \
--region=asia-northeast1 \
--runtime=java17 \
--source=./functions/storage-function \
--entry-point=myproject.StorageFunction \
--trigger-resource=gs://my-bucket \
--trigger-event=google.storage.object.delete
Passaggi successivi
- Visualizza i dettagli su trigger di Cloud Run Functions.
- Scopri di più sulla procedura di compilazione delle funzioni Cloud Run.
- Esplora altre opzioni di configurazione di Cloud Run Functions.
- Scopri di più sulla protezione delle funzioni Cloud Run.
- Consulta la sezione Tutorial per esempi di casi d'uso specifici per Cloud Run Functions.