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 gestita automaticamente dalle funzioni Cloud Run 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 di Cloud Functions o di un ruolo che includa le stesse autorizzazioni. Consulta 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 followed 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 funzione sostituirà i trattini bassi con i trattini e le lettere maiuscole verranno convertite in minuscole. Ad esempio,Function_1
avrà 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 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, consulta Punto di contatto 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:Attiva flag Descrizione trigger --trigger-http
Attiva la funzione con una richiesta HTTP(S). --trigger-topic=YOUR_PUBSUB_TOPIC
Attiva la funzione quando viene pubblicato un messaggio nell'argomento Pub/Sub specificato. --trigger-bucket=YOUR_STORAGE_BUCKET
Attiva la funzione quando viene creato o sovrascritto un oggetto 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 di
gcloud functions deploy
.Per ulteriori dettagli sui flag di configurazione
gcloud functions deploy
, consulta la documentazione di Cloud Run.
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 di base. Il ricollocamento 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 con l'API Cloud Functions v2, per impostazione predefinita la funzione ha un URL endpoint HTTP cloudfunctions.net
. Se esegui il deployment di questa funzione su Cloud Run, la funzione riceve anche un URL run.app
endpoint HTTP. Tuttavia, le funzioni create in Cloud Run non avranno un URL endpoint HTTPcloudfunctions.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 l'esempio HTTP di Terraform e l'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, inclusa la modalità di instradamento del traffico della rete VPC, consulta le best practice per la rete Cloud Run.
Scopri come eseguire il deployment di Cloud Run Functions su Cloud Run
Il deployment delle funzioni su Cloud Run è simile alla procedura descritta in questo documento, ma con alcuni vantaggi aggiuntivi:
- Puoi utilizzare la Google Cloud console e l'interfaccia alla gcloud CLI
(
gcloud run deploy
). - I passaggi per specificare gli attivatori sono leggermente diversi. Per saperne di più, consulta trigger e tentativi di nuovo invio e esempi di trigger delle funzioni.
- Cloud Run offre una gamma più ampia di opzioni di configurazione: