Activadores HTTP

En Cloud Functions, un activador HTTP permite que una función se ejecute en respuesta a solicitudes HTTP(S). Cuando especificas un activador HTTP para una función, se le asigna una URL en la que puede recibir solicitudes. Los activadores HTTP admiten los métodos de solicitud GET, POST, PUT, DELETE y OPTIONS.

En Cloud Functions (2nd gen), las solicitudes a una URL de función siempre requieren HTTPS. En Cloud Functions (1st gen), puedes elegir si se requiere HTTPS durante la implementación.

De forma predeterminada, las solicitudes a una función con un activador HTTP requieren autenticación. Puedes elegir permitir llamadas no autenticadas durante la implementación. Consulta Permite la invocación de funciones HTTP no autenticadas para obtener más información.

Usas funciones HTTP para implementar Cloud Functions que pueden controlar solicitudes HTTP(S) generales.

Deployment

Puedes especificar un activador HTTP cuando implementes una función. Consulta Implementa una Cloud Function a fin de obtener instrucciones generales para implementar una función, y consulta la siguiente información adicional específica sobre la configuración de activadores HTTP durante la implementación.

gcloud

Si implementas mediante gcloud CLI, las marcas que se muestran a continuación se usan para configurar los activadores HTTP:

gcloud functions deploy YOUR_FUNCTION_NAME \
--trigger-http \
[--allow-unauthenticated] \
[--security-level=SECURITY_LEVEL] \
...
  • La marca --trigger-http especifica que la función usa un activador HTTP.
  • La marca --allow-unauthenticated especifica que se puede llamar a la función sin autenticación. Omitir esta marca significa que las llamadas a la función requieren autenticación, que es la configuración predeterminada. Consulta Autentica para la invocación a fin de obtener más información.
  • (1st gen) La marca --security-level controla si el extremo de la función requiere HTTPS. El valor secure-always significa que se requiere HTTPS y que no se admiten solicitudes HTTP que no sean SSL. El valor secure-optional significa que se admite HTTP y HTTPS. El valor predeterminado es secure-always.

Console

Si implementas mediante la consola de Google Cloud, puedes configurar un activador HTTP en la sección Activador.

  • Para Cloud Functions (2nd gen):
    1. En HTTPS, en el campo Autenticación, selecciona una opción según si deseas permitir invocaciones no autenticadas de tu función. De forma predeterminada, se requiere autenticación. Consulta Autentica para la invocación a fin de obtener más información.
  • Para Cloud Functions (1st gen):
    1. En el campo Activador, selecciona HTTP.
    2. En el campo Autenticación, selecciona una opción según si deseas permitir invocaciones no autenticadas de tu función. De forma predeterminada, se requiere autenticación. Consulta Autentica para la invocación a fin de obtener más información.
    3. Selecciona o desmarca la casilla de verificación Requerir HTTPS para controlar si el extremo de la función requiere HTTPS. Si no se selecciona, se admite HTTP y HTTPS.

URL de función

Después de implementar tu función con un activador HTTP, puedes recuperar su URL asignada.

A las funciones de primera y segunda generación se les asignan URLs que tienen el siguiente formato. Estas URL tienen un formato determinista, lo que significa que puedes predecir cuál será la URL antes de implementar la función:

https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME

Las funciones de segunda generación también tienen una URL asignada que está asociada con el servicio subyacente de Cloud Run. Estas URLs no tienen un formato determinista, lo que significa que, debido a que el segundo campo es un hash aleatorio, no podrás predecir cuál será la URL antes de implementar la función. Sin embargo, una vez que implementes la función, la URL permanecerá estable:

https://FUNCTION_NAME-RANDOM_HASH-REGION.a.run.app

La URL cloudfunctions.net y la URL run.app de una función de segunda generación se comportarán de la misma manera y son intercambiables.

Puedes recuperar las URLs de tu función de la siguiente manera:

gcloud

  • Para Cloud Functions (2nd gen):

    gcloud functions describe YOUR_FUNCTION_NAME \
    --gen2 \
    --region=YOUR_FUNCTION_REGION \
    --format="value(serviceConfig.uri)"
    
  • Para Cloud Functions (1st gen):

    gcloud functions describe YOUR_FUNCTION_NAME \
    --format="value(httpsTrigger.url)"
    

Consola

  1. Ve a la página de Descripción general de Cloud Functions en la consola de Google Cloud:

    Ir a Cloud Functions

  2. Haz clic en el nombre de la función cuya URL deseas recuperar.

  3. Haz clic en la pestaña Editar.

  4. Consulta la URL de tu función en la sección Activador.

Próximos pasos