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 valore secure-always indica che HTTPS è obbligatorio e le richieste HTTP non SSL non sono supportate. Il valore secure-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):
    1. 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.):
    1. Nel campo Tipo di attivatore, seleziona HTTP.
    2. 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.
    3. 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

  1. Vai alla pagina di riepilogo di Cloud Functions nella console Google Cloud:

    Vai a Cloud Functions

  2. Fai clic sul nome della funzione di cui vuoi recuperare l'URL.

  3. Fai clic sulla scheda Modifica.

  4. Visualizza l'URL della funzione nella sezione Attivatore.

Passaggi successivi