- Écoutez les données du modèle et générez des événements à partir de celles-ci à l'aide de fonctions Cloud Run.
- Envoyez les événements générés par les fonctions Cloud Run via le canal d'événements Pub/Sub.
Modèles compatibles
Les modèles suivants proposent des intégrations de génération d'événements de fonctions Cloud Run et de notification d'événements Pub/Sub:
Avant de commencer
- Créez une application avec au moins un nœud de flux et un nœud de modèle compatible.
- Facultatif. Installez le SDK Vertex AI Vision et ingérez des données dans votre application. Si vous ne le faites pas avant de configurer la notification d'événement, vous devez le faire après.
- Facultatif. Créez une fonction Cloud Run à utiliser. Si vous ne créez pas votre fonction Cloud Run avant de configurer les fonctions Cloud Run pour traiter la sortie du modèle, vous devez la créer pendant ce processus.
- Facultatif. Créez un sujet Pub/Sub à utiliser. Si vous ne créez pas votre sujet Pub/Sub avant d'activer la notification d'événement de modèle avec Pub/Sub, vous devez le créer pendant ce processus.
- Facultatif. Choisissez et créez un abonnement Pub/Sub. Si vous ne créez pas votre abonnement Pub/Sub avant d'activer la notification d'événement de modèle avec Pub/Sub, vous devez le créer après pour lire les messages d'un sujet.
Configurer des fonctions Cloud Run pour traiter la sortie du modèle
Pour déclencher des notifications basées sur des événements, vous devez d'abord configurer des fonctions Cloud Run pour traiter la sortie du modèle et générer des événements.
Votre fonction Cloud Run se connecte au modèle et écoute sa sortie en tant qu'action de post-traitement. La fonction Cloud Run doit renvoyer un AppPlatformCloudFunctionResponse
. Les événements (appplatformeventbody
) sont envoyés au sujet Pub/Sub que vous configurez à l'étape suivante.
Exemple de fonction Cloud Run (modèle d'analyse de l'occupation)
/**
* 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);
}
Suivez les instructions ci-dessous pour envoyer le flux de sortie du modèle à votre fonction Cloud Run:
Ouvrez l'onglet Applications du tableau de bord Vertex AI Vision.
Sélectionnez
Afficher l'application à côté du nom de votre application dans la liste.Cliquez sur le modèle compatible pour ouvrir le panneau latéral d'informations sur le modèle.
Dans la liste post-traitement de la section Notification d'événement, sélectionnez votre fonction Cloud Run existante ou créez-en une.
Activer la notification d'événements de modèle avec Pub/Sub
Une fois que vous avez configuré des fonctions Cloud Run pour traiter la sortie du modèle et générer des événements, vous pouvez configurer la notification d'événements avec Pub/Sub. Pour lire les messages d'un sujet, vous devez également choisir et créer un abonnement Pub/Sub.
Ouvrez l'onglet Applications du tableau de bord Vertex AI Vision.
Sélectionnez
Afficher l'application à côté du nom de votre application dans la liste.Cliquez sur le modèle compatible pour ouvrir le panneau latéral d'informations sur le modèle.
Dans la section Notifications relatives à un événement, sélectionnez Configurer une notification d'événement.
Dans la fenêtre d'options Configurer Pub/Sub pour les notifications d'événements qui s'ouvre, choisissez votre sujet Pub/Sub existant ou en créez un.
Dans le champ Frequency (Fréquence), définissez une valeur entière pour la fréquence en secondes à laquelle une notification pour le même type d'événement peut être envoyée.
Cliquez sur Configurer.
Étape suivante
- Pour savoir comment déployer votre application afin de tester la notification d'événement de modèle, consultez Déployer et annuler le déploiement d'une application.
- Suivez l'atelier de programmation Application d'analyse de l'occupation Vertex AI Vision avec gestion des événements.
- Pour en savoir plus sur Pub/Sub et les fonctions Cloud Run, consultez les pages Qu'est-ce que Pub/Sub ? et Présentation des fonctions Cloud Run.