Activadores de Eventarc
En Cloud Functions (2nd gen), un activador de Eventarc permite que una función se active con cualquier tipo de evento compatible con Eventarc. Cuando especificas un activador de Eventarc para una función, proporcionas filtros de eventos. Se llamará a tu función cada vez que ocurra un evento que coincida con los filtros.
Todas las funciones controladas por eventos en Cloud Functions (2nd gen) usan activadores de Eventarc. Para obtener más información, consulta Activadores de Eventarc en la documentación de Eventarc. Para obtener una lista de los tipos de eventos compatibles, consulta Tipos de eventos compatibles con Eventarc.
Para que una función use un activador de Eventarc, debe implementarse como una función de CloudEvent. Los datos del evento se pasan a la función en el formato de CloudEvents, con una carga útil de datos de CloudEvent correspondiente al tipo de evento. El repositorio de Eventos de Google contiene recursos adicionales para trabajar con datos de eventos.
Ubicación del activador
Los activadores de Eventarc están vinculados a ciertas ubicaciones. En general, la ubicación de un activador de Eventarc debe coincidir con la ubicación del recurso de Google Cloud que deseas supervisar para detectar eventos. En la mayoría de los casos, también debes implementar tu función de Cloud Functions en la misma región. Consulta Información sobre las ubicaciones de Eventarc para obtener más detalles sobre las ubicaciones de activadores de Eventarc.
Identidad del activador
Los activadores de Eventarc están vinculados a cuentas de servicio para usarlos como identidad cuando se invoca la función. La cuenta de servicio del activador de Eventarc debe tener permiso para invocar tu función. De forma predeterminada, se usa la cuenta de servicio de procesamiento predeterminada.
Deployment
Puedes especificar un activador de Eventarc cuando implementes una función. Consulta Implementa una Cloud Function para obtener instrucciones generales sobre cómo implementar una función. En esta sección, se describe cómo configurar un activador de Eventarc que llame a una función cuando se produzca un evento que coincida con los filtros durante la implementación.
gcloud
Si haces implementaciones usando la gcloud CLI, las marcas que se muestran a continuación se usan para configurar los activadores de Eventarc:
gcloud functions deploy YOUR_FUNCTION_NAME \ --gen2 \ --trigger-event-filters="type=EVENTARC_FILTER_TYPE" \ [--trigger-event-filters=EVENTARC_EVENT_FILTER] \ [--trigger-event-filters-path-pattern=EVENTARC_EVENT_PATH_PATTERN] \ [--trigger-location=EVENTARC_TRIGGER_LOCATION] \ [--trigger-service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT] \ [--retry] \ ...
- La marca
--gen2
especifica que estás implementando en Cloud Functions (2nd gen). Debes usar Cloud Functions (2nd gen) para usar activadores de Eventarc. La marca
--trigger-event-filters
especifica los filtros de eventos que supervisará el activador. Un evento que coincida con todos los filtros activará llamadas a tu función.- Obligatorio: Cada activador debe tener un tipo de evento compatible con el formato
--event-filters="type=EVENTARC_FILTER_TYPE"
. Este tipo de evento no se puede cambiar después de la creación. Para cambiarEVENT_FILTER_TYPE
, crea un activador nuevo y borra el anterior. - Opcional: Puedes repetir la marca
--trigger-event-filters
con un filtro compatible en el formatoATTRIBUTE=VALUE
para agregar más filtros.
- Obligatorio: Cada activador debe tener un tipo de evento compatible con el formato
La marca
--trigger-event-filters-path-pattern
especifica los filtros de eventos que el activador supervisará en el formato del patrón de ruta de acceso. Cada filtro debe tener el formatoATTRIBUTE=VALUE
. Consulta Comprende los patrones de ruta de acceso para obtener más información.La marca
--trigger-location
especifica una ubicación para el activador de Eventarc. Consulta Ubicación del activador para obtener más información. Si no se especifica, la región de la función se usa como ubicación del activador.La marca
--trigger-service-account
especifica una cuenta de servicio que se usará como identidad para el activador de Eventarc. Consulta Identidad del activador para obtener más información.La marca
--retry
controla si se reintentan las llamadas a funciones con errores. Consulta Reintenta las funciones controladas por eventos para obtener más información.
Si creas un activador para un evento Pub/Sub directo o Cloud Storage, consulta las instrucciones de la CLI de gcloud para configurar un activador Pub/Sub y Cloud Storage, respectivamente.
La documentación de Eventarc contiene ejemplos de cómo especificar filtros de eventos para diferentes tipos de eventos. Si deseas obtener más información, sigue las instrucciones cuando crees un activador para un proveedor, un tipo de evento y un destino específicos.
Consola
Si implementas mediante la consola de Google Cloud, debes seleccionar 2nd gen como tu entorno. Luego, puedes configurar un activador de Eventarc en la sección Activador.
Para agregar un activador de eventos, haz clic en Agregar activador. Se mostrarán las siguientes opciones:
- Activador de Pub/Sub
- Activador de Cloud Storage
- Activador de Firestore
- Otro activador
Cuando eliges una de estas opciones, se abre el panel Activador de Eventarc, en el que puedes especificar los detalles del activador.
Si creas un activador para un evento Pub/Subdirecto o Cloud Storage, consulta las instrucciones de la consola de Google Cloud para configurar un activador Pub/Sub yCloud Storage, respectivamente.
Si eliges Otro activador, usa el campo Tipo de activador en el panel Activador de Eventarc para especificar uno de los siguientes: Fuentes de Google, Personalizado o Terceros.
Fuentes de Google te permite especificar activadores para Pub/Sub, Cloud Storage, Firestore y otros proveedores de eventos de Google. En el panel Activador de Eventarc, usa el campo Proveedor del evento para seleccionar el producto que proporciona el tipo de evento que deseas que active la función. Luego, en el campo Evento, selecciona el evento que deseas usar como activador.
La opción Personalizado te permite producir y consumir eventos desde el código de tu aplicación. Sigue las indicaciones del panel Activador de Eventarc para crear un canal. Un canal es un recurso que se usa como una canalización para entregar eventos personalizados de los productores a los consumidores. Los eventos personalizados se publican en un canal y un activador de Eventarc se suscribe a esos eventos.
La opción Terceros te permite integrarte a proveedores externos a Google que ofrecen una fuente de Eventarc. Consulta los eventos de terceros en Eventarc para obtener más detalles.
En el campo Región, selecciona una ubicación para el activador de Eventarc, si corresponde. Consulta Ubicación del activador para obtener más información.
De manera opcional, en el campo Cuenta de servicio, selecciona una cuenta de servicio para usarla como identidad del activador de Eventarc. Consulta Identidad del activador para obtener más información.
Selecciona o desmarca la casilla de verificación Reintentar en caso de error para controlar si las llamadas a funciones con errores se reintentan automáticamente. Consulta Reintenta las funciones controladas por eventos para obtener más información.
Haz clic en Guardar activador.
Próximos pasos
- Obtén información sobre cómo escribir funciones controladas por eventos.
- Aprende a implementar una función de Cloud Functions.
- Consulta los siguientes instructivos para ver ejemplos de escritura, implementación y llamada a funciones con un activador de Eventarc: