Trigger HTTP
In Cloud Functions, un trigger HTTP consente l'esecuzione di una funzione in risposta alle richieste HTTP(S). Quando specifichi un trigger HTTP per una funzione, alla funzione viene assegnato un URL in cui può ricevere richieste. I trigger HTTP supportano i metodi di richiesta GET
, POST
, PUT
, DELETE
e OPTIONS
.
In Cloud Functions (2nd gen), le richieste a un URL di funzione richiedono sempre HTTPS. In Cloud Functions (1ª generazione.), puoi scegliere se utilizzare HTTPS durante il deployment.
Per impostazione predefinita, le richieste a una funzione con un trigger HTTP richiedono l'autenticazione. Puoi scegliere di consentire le chiamate non autenticate durante il deployment. Per ulteriori informazioni, consulta Consentire chiamate di funzioni HTTP non autenticate.
Puoi utilizzare le funzioni HTTP per implementare Cloud Functions in grado di gestire le richieste HTTP(S) generali.
Deployment
Puoi specificare un trigger HTTP quando esegui il deployment di una funzione. Consulta Eseguire il deployment di una funzione Cloud Functions per istruzioni generali su come eseguire il deployment di una funzione e questa sezione per ulteriori informazioni specifiche sulla configurazione dei trigger HTTP durante il deployment.
gcloud
Se esegui il deployment con gcloud CLI, i flag mostrati qui vengono utilizzati per configurare i trigger HTTP:
gcloud functions deploy YOUR_FUNCTION_NAME \ --trigger-http \ [--allow-unauthenticated] \ [--security-level=SECURITY_LEVEL] \ ...
- Il flag
--trigger-http
specifica che la funzione utilizza un trigger HTTP. - Il flag
--allow-unauthenticated
specifica che la funzione può essere chiamata senza autenticazione. Se questo flag viene omesso, le chiamate alla funzione richiedono l'autenticazione, che è l'impostazione predefinita. Per ulteriori informazioni, consulta Autenticazione per le chiamate. - (1ª generazione) Il flag
--security-level
controlla se l'endpoint della funzione richiede HTTPS. Il valoresecure-always
indica che HTTPS è obbligatorio e le richieste HTTP non SSL non sono supportate. Il valoresecure-optional
indica che sono supportati sia HTTP che HTTPS. Il valore predefinito èsecure-always
.
Console
Se esegui il deployment utilizzando la console Google Cloud, puoi configurare un trigger HTTP nella sezione Trigger.
- Per Cloud Functions (2nd gen):
- In HTTPS, nel campo Autenticazione, seleziona un'opzione in base a se vuoi consentire le chiamate non autenticate della funzione. Per impostazione predefinita, l'autenticazione è obbligatoria. Per ulteriori informazioni, consulta Autenticazione per le chiamate.
- Per Cloud Functions (1ª generazione.):
- Nel campo Tipo di attivatore, seleziona HTTP.
- Nel campo Autenticazione, seleziona un'opzione a seconda se vuoi consentire le chiamate non autenticate alla funzione. Per impostazione predefinita, l'autenticazione è obbligatoria. Per ulteriori informazioni, consulta Autenticazione per le chiamate.
- Seleziona o deseleziona la casella di controllo Richiedi HTTPS per controllare se l'endpoint della funzione richiede HTTPS. Se deselezionata, sono supportati sia HTTP sia HTTPS.
URL funzione
Dopo aver eseguito il deployment della funzione con un trigger HTTP, puoi recuperare l'URL che ti è stato assegnato.
Entrambe le funzioni di 1ª generazione e 2ª generazione hanno URL assegnati con il seguente formato. Questi URL hanno un formato deterministico, il che significa che puoi prevedere quale sarà l'URL prima di eseguire il deployment della funzione:
https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME
Anche alle funzioni di 2ª generazione è assegnato un URL associato al servizio Cloud Run sottostante. Questi URL non hanno un formato deterministico, il che significa che, poiché il secondo campo è un hash casuale, non puoi prevedere quale sarà l'URL prima di eseguire il deployment della funzione. Tuttavia, una volta implementato la funzione, l'URL rimarrà stabile:
https://FUNCTION_NAME-RANDOM_HASH-REGION.a.run.app
L'URL cloudfunctions.net
e l'URL run.app
di una funzione di 2ª generazione si comporteranno esattamente allo stesso modo. Sono intercambiabili.
Puoi recuperare l'URL o gli URL della funzione come segue:
gcloud
Per Cloud Functions (2nd gen):
gcloud functions describe YOUR_FUNCTION_NAME \ --gen2 \ --region=YOUR_FUNCTION_REGION \ --format="value(serviceConfig.uri)"
Per Cloud Functions (1ª generazione.):
gcloud functions describe YOUR_FUNCTION_NAME \ --format="value(httpsTrigger.url)"
Console
Vai alla pagina di riepilogo di Cloud Functions nella console Google Cloud:
Fai clic sul nome della funzione di cui vuoi recuperare l'URL.
Fai clic sulla scheda Modifica.
Visualizza l'URL della funzione nella sezione Attivatore.
Passaggi successivi
- Scopri come scrivere funzioni HTTP.
- Scopri come eseguire il deployment di una funzione Cloud Functions.
- Consulta il tutorial sulle funzioni HTTP per un esempio di scrittura, deployment e chiamata di una funzione HTTP.