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 Esegui il deployment di una funzione Cloud Run utilizzando gcloud CLI.
Il processo di deployment utilizza il codice sorgente e le impostazioni di configurazione per creare un'immagine eseguibile gestita automaticamente da Cloud Run Functions per elaborare le richieste alla tua funzione.
Nozioni di base sul deployment
Per un'introduzione al tipo di funzioni di cui puoi eseguire il deployment, consulta Scrivi funzioni Cloud Run.
Gli utenti che eseguono il deployment delle funzioni devono disporre del ruolo IAM Cloud Functions Developer 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 deployper 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 hai 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. Nel nome del servizio Cloud Run creato per la tua funzione, i trattini bassi vengono sostituiti con trattini e le lettere maiuscole vengono convertite in minuscole. Ad esempio, il nome assegnato aFunction_1in Cloud Run saràfunction-1.Il flag
--regionspecifica la regione in cui eseguire il deployment della funzione. Consulta Località per un elenco delle regioni supportate da Cloud Run.Il flag
--runtimespecifica il runtime del linguaggio utilizzato dalla funzione. Consulta Supporto del runtime per un elenco degli ID runtime supportati.Il flag
--sourcespecifica la posizione del codice sorgente della funzione.Il flag
--entry-pointspecifica l'entry point 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 saperne di più, consulta Entry point della funzione.Per specificare il trigger per la tua funzione, sono necessari flag aggiuntivi (rappresentati da
TRIGGER_FLAGSsopra), a seconda del trigger che vuoi utilizzare:Flag di trigger Descrizione trigger --trigger-httpAttiva la funzione con una richiesta HTTP(S). --trigger-topic=YOUR_PUBSUB_TOPICAttiva la funzione quando un messaggio viene pubblicato nell'argomento Pub/Sub specificato. --trigger-bucket=YOUR_STORAGE_BUCKETAttiva la funzione quando un oggetto viene creato o sovrascritto nel bucket Cloud Storage specificato. --trigger-event-filters=EVENTARC_EVENT_FILTERSAttiva la funzione con Eventarc quando si verifica un evento che corrisponde ai filtri specificati. Per un riferimento completo per il comando di deployment e i relativi flag, consulta la documentazione
gcloud functions deploy.Per maggiori 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ù, consulta Trigger e ripetizione dei 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, durante i quali viene eseguito il provisioning dell'infrastruttura sottostante. Quando riesegui il deployment di una funzione esistente, l'operazione è più rapida 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 esegui il deployment di questa funzione su Cloud Run, 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 delle funzioni utilizzando Terraform, consulta Esempio HTTP di Terraform ed Esempio Pub/Sub di Terraform.
Configura il networking
Puoi gestire le funzioni create utilizzando l'API Cloud Functions v2 (ad esempio utilizzando gcloud functions, l'API REST o Terraform) sia con l'API Cloud Run Admin che con l'API Cloud Functions v2.
Per scoprire di più sulla gestione delle reti per le funzioni e su come instradare il traffico di rete VPC, consulta Best practice per il networking di Cloud Run.
Scopri come eseguire il deployment di funzioni Cloud Run su Cloud Run
Il deployment delle funzioni su Cloud Run è simile ai passaggi descritti in questo documento, ma con alcuni vantaggi aggiuntivi: