Esegui il deployment di una Cloud Function (1ª generazione.)
Questa guida illustra come eseguire il deployment di una Cloud Function da codice sorgente.
Il processo di deployment prende le tue impostazioni di configurazione e codice sorgente crea un'immagine eseguibile che Cloud Functions automaticamente per gestire le richieste alla funzione.
Nozioni di base sul deployment
Gli utenti che eseguono il deployment di Cloud Functions devono avere Sviluppatore Cloud Functions un ruolo IAM o un ruolo che include le stesse autorizzazioni. Vedi anche Configurazione aggiuntiva per il deployment.
Seleziona una scheda per visualizzare 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 la
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 della funzione di cui hai eseguito il deployment. Il nome della funzione deve iniziare con una lettera seguito 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 su Cloud Functions (2nd gen). A deployment to 1ª generazione, ometti questo flag.Il flag
--region
specifica la regione in cui eseguire il deployment della funzione. Consulta: Località per un elenco di regioni supportate da di Cloud Functions.Il flag
--runtime
specifica il runtime del linguaggio utilizzato dalla funzione. Cloud Functions supporta diversi runtime; consulta Runtime per ulteriori informazioni.Il flag
--source
specifica la posizione del codice sorgente della funzione. Consulta quanto segue: sezioni per maggiori dettagli:La
--entry-point
specifica il punto di ingresso della funzione nel codice sorgente. Questo è il codice che verrà eseguito durante l'esecuzione della funzione. Il valore di questo deve essere un nome di funzione o un nome di classe completo esistente del codice sorgente. Consulta: Punto di ingresso alla funzione per ulteriori informazioni.Per specificare l'attivatore per il tuo , flag aggiuntivi (rappresentati come
TRIGGER_FLAGS
sopra) sono obbligatori, a seconda l'attivatore che vuoi utilizzare:
Flag di trigger Descrizione trigger --trigger-http
Attiva la funzione con una richiesta HTTP(S). Consulta: Trigger HTTP per ulteriori informazioni. --trigger-topic=YOUR_PUBSUB_TOPIC
Attiva la funzione quando un messaggio viene pubblicato nel Pub/Sub. Consulta: Pub/Sub trigger per ulteriori informazioni. --trigger-bucket=YOUR_STORAGE_BUCKET
Attiva la funzione quando un oggetto viene creato o sovrascritto nel specificato per il bucket Cloud Storage specificato. Consulta: Trigger di Cloud Storage per ulteriori informazioni. --trigger-event=EVENT_TYPE
[--trigger-resource=RESOURCE]Attiva la funzione quando si verifica l'evento specificato. Per alcuni tipi di eventi è necessario specificare una risorsa. Consulta: Trigger supportati in Cloud Functions (1ª generazione.) per ulteriori informazioni. Facoltativamente, puoi specificare ulteriori configurazione, networking e le opzioni di sicurezza quando esegui il deployment di una funzione.
Per un riferimento completo sul comando deployment e sui suoi flag, consulta
gcloud functions deploy
documentazione.Per alcuni comandi di deployment di esempio, Esempi di riga di comando.
Console
Vai alla pagina Panoramica di Cloud Functions nella console Google Cloud:
Assicurati che il progetto Google Cloud in cui vuoi eseguire il deployment Cloud Functions è selezionato.
Fai clic su Crea funzione.
Nel campo Ambiente, seleziona 1a generazione.
Nel campo Nome funzione, inserisci un nome per la funzione. La 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 Trigger, segui i passaggi in base alla selezione questo ambiente:
- Nella sezione Autenticazione HTTPS, seleziona il token appropriato a seconda che tu voglia o meno consentire per la funzione. Per impostazione predefinita, l'autenticazione obbligatorio. Per ulteriori informazioni, consulta la sezione Autenticazione per le chiamate.
- Nel campo Tipo di attivatore, seleziona un tipo di attivatore. Consulta: Trigger supportati in Cloud Functions (1ª generazione.) per ulteriori dettagli.
- Compila i campi aggiuntivi per il tipo di attivatore selezionato.
- Fai clic su Salva.
Facoltativamente, espandi la sezione Runtime, build... alla fine del pagina per ulteriori configurazioni e le opzioni di sicurezza.
Fai clic su Avanti per andare al passaggio Codice.
Nel campo Runtime, seleziona il runtime del linguaggio utilizzato dalla funzione. Cloud Functions supporta diversi runtime. Vedi Runtime per ulteriori informazioni.
Nel campo Punto di ingresso, inserisci il punto di accesso alla funzione in del codice sorgente. Si tratta del codice che verrà eseguito di una funzione. Il valore di questo flag deve essere il nome di una funzione oppure nome completo della classe esistente nel codice sorgente - vedi Punto di accesso alla funzione per ulteriori informazioni.
Nel campo Codice sorgente, seleziona l'opzione appropriata per la modalità di fornisce il codice sorgente della funzione. Consulta le seguenti sezioni relative a dettagli:
Fai clic su Esegui il deployment.
Al termine del deployment, le funzioni vengono contrassegnate da un segno di spunta verde. nella pagina Panoramica di Cloud Functions della console Google Cloud:
Il deployment iniziale di una funzione può richiedere diversi minuti, mentre dell'infrastruttura sottostante. Eseguire di nuovo il deployment di una funzione esistente è più veloce e il traffico in entrata viene migrato automaticamente alla versione più recente.
Esegui il deployment dal tuo computer locale
Questa sezione descrive come eseguire il deployment di una funzione dal codice sorgente che si trova dalla 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 per il deployment riportate sopra utilizzando il metodo Comando
gcloud functions deploy
.Per il flag
--source
, specifica un percorso del file system locale per la directory principale del codice sorgente della funzione, vedi Struttura della directory di origine. Se questo flag viene omesso, viene usata la directory di lavoro attuale.Se vuoi, puoi anche utilizzare
--stage-bucket
flag per specificare un bucket Cloud Storage in cui caricare il codice sorgente come parte di e deployment continuo.Durante il caricamento del codice sorgente, Cloud Functions esclude le risorse non necessarie tramite
.gcloudignore
.
Console
- Segui le istruzioni per il deployment riportate sopra utilizzando il metodo nella console Google Cloud finché non arrivi al campo Codice sorgente.
- Nel campo Codice sorgente, seleziona Caricamento ZIP.
- Nel campo Bucket di destinazione, fai clic su Sfoglia per selezionare una Bucket Cloud Storage in cui caricare il codice sorgente come parte di e deployment continuo.
- Nel campo File ZIP, fai clic su Sfoglia per selezionare un file ZIP da caricare. dal tuo file system locale. I file di origine delle funzioni devono trovarsi in la radice del file ZIP; vedi 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 che si trova in un nel bucket Cloud Storage. Il codice sorgente deve essere pacchettizzato come file ZIP.
Per consentire a Cloud Functions di leggere da un bucket Cloud Storage, devi concedere il metodo
storage.objects.get
per l'account che esegue il deployment.
Consulta Utilizzare le autorizzazioni IAM. nella documentazione di Cloud Storage per informazioni sul controllo dell'accesso ai bucket.
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 per il deployment riportate sopra utilizzando il metodo Comando
gcloud functions deploy
.Per il flag
--source
, specifica un percorso Cloud Storage che inizia congs://
. L'oggetto nel percorso deve essere un file ZIP contenente la funzione codice sorgente. I file di origine delle funzioni devono trovarsi nella directory principale ZIP - vedi Struttura della directory di origine.
Console
- Segui le istruzioni per il deployment riportate sopra utilizzando il metodo nella console Google Cloud finché non arrivi al campo Codice sorgente.
- Nel campo Codice sorgente, seleziona ZIP da Cloud Storage.
- Nel campo Percorso Cloud Storage, fai clic su Sfoglia per selezionare un file ZIP. da Cloud Storage. I file di origine delle funzioni devono trovarsi in la radice del file ZIP; vedi 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 Console Google Cloud utilizzando l'editor in linea fornito.
- Segui le istruzioni per il deployment riportate sopra utilizzando il metodo nella console Google Cloud finché non arrivi al campo Codice sorgente.
- Nel campo Codice sorgente, seleziona Editor incorporato.
- Utilizza l'editor fornito per creare o modificare i file di origine a seconda delle esigenze. Vedi
Struttura della directory di origine.
- Il riquadro a sinistra elenca i tuoi file di origine e ti consente di creare, rinominare, ed eliminare file.
- Il riquadro a destra è un editor di testo che ti consente di modificare i contenuti dei 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 maggiori dettagli sui diversi trigger supportati da Cloud Functions, consulta Trigger di Cloud Functions.
Funzione HTTP dal codice sorgente locale
Supponi di avere una funzione HTTP come segue:
- La funzione utilizza Node.js 20.
- Il codice sorgente si trova nella directory di lavoro attuale (
.
). - Il punto di accesso nel codice è denominato
myHttpFunction
.
Per eseguire il deployment della funzione in Cloud Functions con il nome
my-http-function
nella regione us-central1
, utilizza il seguente comando:
gcloud functions deploy my-http-function \
--region=us-central1 \
--runtime=nodejs20 \
--source=. \
--entry-point=myHttpFunction \
--trigger-http
Funzione Pub/Sub dal codice sorgente in Cloud Storage
Supponiamo di avere una funzione basata su eventi come segue:
- La funzione gestisce gli eventi di pubblicazione di 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 accesso nel codice è denominato
pubsub_handler
.
Per eseguire il deployment della funzione in Cloud Functions con il nome
my-pubsub-function
nella regione europe-west1
e hanno la funzione
attivati dai messaggi nell'argomento Pub/Sub my-topic
, utilizza
seguente comando:
gcloud functions deploy my-pubsub-function \
--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 di avere una funzione basata su 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 accesso nel codice è denominato
myproject.StorageFunction
.
Per eseguire il deployment della funzione in Cloud Functions con il nome
my-storage-function
nella regione asia-northeast1
e hanno la funzione
attivati da eventi nel bucket Cloud Storage my-bucket
, utilizza
seguente comando:
gcloud functions deploy my-storage-function \
--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
- Vedi i dettagli su Trigger di Cloud Functions.
- Scopri di più sul processo di compilazione di Cloud Functions.
- Esplora funzioni Cloud Functions aggiuntive opzioni di configurazione.
- Scopri come proteggere Cloud Functions.
- Consulta i tutorial per esempi di casi d'uso specifici per Cloud Functions.