Esegui il deployment di una funzione
Questa guida mostra come eseguire il deployment di una funzione dal codice sorgente utilizzando il comando
gcloud functions
. Per scoprire come eseguire il deployment di una funzione utilizzando il comando gcloud run
, consulta Eseguire il deployment di una funzione Cloud Run utilizzando gcloud CLI.
Il processo di deployment prende il codice sorgente e le impostazioni di configurazione e crea un'immagine eseguibile che Cloud Run Functions gestisce automaticamente per gestire le richieste alla tua funzione.
Nozioni di base sul deployment
Per un'introduzione al tipo di funzioni che puoi eseguire il deployment, consulta Scrivere funzioni Cloud Run.
Gli utenti che eseguono il deployment delle funzioni devono disporre del ruolo IAM Sviluppatore Cloud Functions o di un ruolo che includa le stesse autorizzazioni. Vedi anche Configurazione aggiuntiva per il deployment.
-
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 \ --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 seguita da un massimo di 62 lettere, numeri, trattini o trattini bassi e deve terminare con una lettera o un numero. Il nome del servizio Cloud Run creato per la tua funzione sostituirà i trattini bassi con trattini e le lettere maiuscole verranno convertite in minuscole. Ad esempio,Function_1
riceverà il nomefunction-1
in Cloud Run.Il flag
--region
specifica la regione in cui eseguire il deployment della funzione. Consulta Località per un elenco delle regioni supportate da Cloud Run.Il flag
--runtime
specifica il runtime della lingua utilizzato dalla funzione. Consulta la sezione Supporto del runtime per un elenco degli ID runtime supportati.Il flag
--source
specifica la posizione del codice sorgente della funzione.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 di funzione o un nome di classe completo esistente nel codice sorgente. Per ulteriori informazioni, vedi Punto di ingresso della funzione.Per specificare il trigger per la tua funzione, sono necessari flag aggiuntivi (rappresentati come
TRIGGER_FLAGS
sopra), a seconda del trigger che vuoi utilizzare:Flag di attivazione Descrizione trigger --trigger-http
Attiva la funzione con una richiesta HTTP(S). --trigger-topic=YOUR_PUBSUB_TOPIC
Attiva la funzione quando un messaggio viene pubblicato nell'argomento Pub/Sub specificato. --trigger-bucket=YOUR_STORAGE_BUCKET
Attiva la funzione quando un oggetto viene creato o sovrascritto nel bucket Cloud Storage specificato. --trigger-event-filters=EVENTARC_EVENT_FILTERS
Attiva la funzione con Eventarc quando si verifica un evento che corrisponde ai filtri specificati. Per un riferimento completo al comando di deployment e ai relativi flag, consulta la documentazione
gcloud functions deploy
.Per ulteriori dettagli sui flag di configurazione di
gcloud functions deploy
, consulta la documentazione di Cloud Run.
- Puoi utilizzare la console Google Cloud e gcloud CLI
(
gcloud run deploy
). - I passaggi per specificare i trigger sono leggermente diversi. Per saperne di più, vedi trigger e tentativi ed esempi di trigger di funzioni.
- Cloud Run offre una gamma più ampia di opzioni di configurazione:
Al termine del deployment, le funzioni vengono visualizzate con un segno di spunta verde nella pagina Panoramica di Cloud Run nella consoleGoogle Cloud .
Il deployment iniziale di una funzione potrebbe richiedere diversi minuti, mentre viene eseguito il provisioning dell'infrastruttura sottostante. Il redeployment di una funzione esistente è più rapido e il traffico in entrata viene migrato automaticamente alla versione più recente.
URL endpoint HTTP
Quando crei una funzione con il comando gcloud functions
o l'API Cloud Functions v2, per impostazione predefinita la funzione ha un URL endpoint HTTP cloudfunctions.net
. Se prendi questa funzione ed esegui il deployment
su Cloud Run, la funzione riceve anche un URL dell'endpoint HTTP run.app
. Tuttavia, le funzioni create in Cloud Run non avranno un
URL dell'endpoint HTTP cloudfunctions.net
. L'URL cloudfunctions.net
e l'URL run.app
di una funzione si comportano esattamente allo stesso modo. Sono intercambiabili
e vengono utilizzati per attivare la funzione.
Esempi di Terraform
Per esempi su come eseguire il deployment di funzioni utilizzando Terraform, consulta Esempio HTTP di Terraform ed Esempio Pub/Sub di Terraform.
Configurazione del networking
Le funzioni create utilizzando l'API Cloud Functions v2
(ad esempio utilizzando gcloud functions
, l'API REST o Terraform) possono essere
gestite con l'API Cloud Run Admin
e con l'API Cloud Functions v2.
Per scoprire di più sulla gestione delle reti per le funzioni, incluso come instradare il traffico di rete VPC, consulta Best practice per il networking di Cloud Run.
Scopri come eseguire il deployment di Cloud Run Functions su Cloud Run
Il deployment delle funzioni su Cloud Run è simile ai passaggi descritti in questo documento, ma con alcuni vantaggi aggiuntivi: