- Escucha los datos del modelo y genera eventos a partir de ellos con funciones de Cloud Run.
- Envía los eventos generados por las funciones de Cloud Run a través del canal de eventos de Pub/Sub.
Modelos compatibles
Los siguientes modelos ofrecen la generación de eventos de Cloud Run Functions y integraciones de notificaciones de eventos de Pub/Sub:
- Modelo de análisis de ocupación
- Modelos de entrenamiento personalizado de Vertex AI
Antes de comenzar
- Crea una app con, como mínimo, un nodo de transmisión y un nodo de modelo compatible.
- Opcional. Instala el SDK de Vertex AI Vision y transfiere datos a tu app. Si no lo haces antes de configurar la notificación de eventos, debes hacerlo después.
- Opcional. Crea una Cloud Run Function para usarla. Si no creas tu función de Cloud Run antes de configurar las funciones de Cloud Run para procesar el resultado del modelo, debes crearla durante ese proceso.
- Opcional. Crea un tema de Pub/Sub para usarlo. Si no creas tu tema de Pub/Sub antes de habilitar la notificación de eventos de modelos con Pub/Sub, debes crearlo durante ese proceso.
- Opcional. Elige y crea una suscripción a Pub/Sub. Si no creas tu suscripción a Pub/Sub antes de habilitar la notificación de eventos de modelos con Pub/Sub, debes crearla después para leer los mensajes de un tema.
Configura funciones de Cloud Run para procesar el resultado del modelo
Para activar notificaciones basadas en eventos, primero debes configurar las funciones de Cloud Run para procesar el resultado del modelo y generar eventos.
Tu función de Cloud Run se conecta al modelo y escucha su salida como su acción de procesamiento posterior. La función de Cloud Run debe mostrar un AppPlatformCloudFunctionResponse
. Los eventos (appplatformeventbody
) se envían al tema de Pub/Sub que configures en el siguiente paso.
Ejemplo de función de Cloud Run (modelo de estadísticas de ocupación)
Ejemplo de función de Cloud Run
/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.hello_http = (req, res) => {
// Logging statement can be read with cmd `gcloud functions logs read {$functionName}`.
// For more about logging, please see https://cloud.google.com/functions/docs/monitoring
// The processor output will be stored in req.body.
const messageString = constructMessage(req.body);
// Send your message to operator output with res HTTP response context.
res.status(200).send(messageString);
};
function constructMessage(data) {
// Typically, your processor output should contains appPlatformMetadata & it's designed output.
// Here we will use the occupancy analytics model as an example.
const appPlatformMetadata = data.appPlatformMetadata;
const annotations = data.annotations;
const events = [];
for(const annotation of annotations) {
events.push({
"event_message": "Event message goes here",
"payload" : {
"attr_key_goes_here" : "val_goes_here"
},
"event_id" : "event_id_goes_here"
});
}
// Typically, your cloud function should return a string represent a JSON which has two fields:
// "annotations" must follow the specification of the target model.
// "events" should be of type "AppPlatformEventBody".
const messageJson = {
"annotations": annotations,
"events": events,
};
return JSON.stringify(messageJson);
}
Usa las siguientes instrucciones para enviar el flujo de salida del modelo a tu función de Cloud Run:
Console
Abre la pestaña Aplicaciones del panel de Vertex AI Vision.
Selecciona
Ver app junto al nombre de tu aplicación en la lista.Haz clic en el modelo compatible para abrir el panel lateral de detalles del modelo.
En la lista procesamiento posterior de la sección Notificación de eventos, selecciona tu función de Cloud Run existente o crea una nueva.
Habilita la notificación de eventos del modelo con Pub/Sub
Después de configurar las funciones de Cloud Run para procesar el resultado del modelo y generar eventos, puedes configurar la notificación de eventos con Pub/Sub. Para leer los mensajes de un tema, también debes elegir y crear una suscripción a Pub/Sub.
Console
Abre la pestaña Aplicaciones del panel de Vertex AI Vision.
Selecciona
Ver app junto al nombre de tu aplicación en la lista.Haz clic en el modelo compatible para abrir el panel lateral de detalles del modelo.
En la sección Notificación de eventos, selecciona Configurar la notificación de eventos.
En la ventana de opciones Configurar Pub/Sub para las notificaciones de eventos que se abre, elige tu tema de Pub/Sub existente o crea uno nuevo.
En el campo Frecuencia, establece un valor entero para el valor de frecuencia en segundos en el que se puede enviar una notificación para el mismo tipo de evento.
Haz clic en Configurar.
¿Qué sigue?
- Lee las instrucciones para implementar tu app y probar la notificación de eventos de modelos en Cómo implementar y anular la implementación de una aplicación.
- Completa el codelab de la app de Vertex AI Vision Occupancy Analytics con administración de eventos.
- Obtén más información sobre Pub/Sub y las funciones de Cloud Run en ¿Qué es Pub/Sub? y la descripción general de las funciones de Cloud Run.