Benachrichtigungen zu Modellereignissen mit Cloud Functions und Pub/Sub aktivieren

In Agent Platform Vision empfangen Modelle Mediendaten von Geräten wie Kameras, führen KI-Vorhersagen für die Daten aus und erstellen kontinuierlich Anmerkungen. Häufig senden Sie diese verarbeiteten Daten an ein Datenziel („Datensenke“) wie ein Media Warehouse oder BigQuery für weitere Analysejobs. Es kann jedoch vorkommen, dass einige Anmerkungen anders behandelt werden müssen oder die Anmerkungsanforderungen zeitkritisch sind. Einbindungen in Cloud Run-Funktionen und Pub/Sub helfen Ihnen, diese Anforderungen zu erfüllen.

Damit Sie Benachrichtigungen zu Modellereignissen aktivieren können, müssen Sie Folgendes tun:

  1. Hören Sie auf die Modelldaten und generieren Sie daraus Ereignisse mit Cloud Run-Funktionen.
  2. Senden Sie die von Cloud Run-Funktionen generierten Ereignisse über den Pub/Sub-Ereigniskanal.

Unterstützte Modelle

Die folgenden Modelle bieten die Einbindung von Cloud Run-Funktionen zur Ereignisgenerierung und Pub/Sub-Ereignisbenachrichtigungen:

Hinweis

Cloud Run-Funktionen zur Verarbeitung der Modellausgabe konfigurieren

Um ereignisbasierte Benachrichtigungen auszulösen, müssen Sie zuerst Cloud Run-Funktionen zur Verarbeitung der Modellausgabe und zur Ereignisgenerierung einrichten.

Ihre Cloud Run-Funktion stellt eine Verbindung zum Modell her und überwacht die Ausgabe als Nachbearbeitungsaktion. Die Cloud Run-Funktion sollte eine AppPlatformCloudFunctionResponse zurückgeben. Die Ereignisse (appplatformeventbody) werden an das Pub/Sub-Thema gesendet, das Sie im nächsten Schritt konfigurieren.

Beispiel für eine Cloud Run-Funktion (Modell zur Belegungsanalyse)

Beispiel für eine Cloud Run-Funktion

/**
* 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);
}

Folgen Sie der Anleitung, um den Modellausgabe-Stream an Ihre Cloud Run-Funktion zu senden:

Console

  1. Öffnen Sie den Tab Anwendungen des Agent Platform Vision-Dashboards.

    Tab „Anwendungen“ aufrufen

  2. Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.

  3. Klicken Sie auf das unterstützte Modell, um die Seitenleiste mit den Modelldetails zu öffnen.

  4. Wählen Sie in der Liste Nachbearbeitung des Bereichs Ereignisbenachrichtigung Ihre vorhandene Cloud Run-Funktion aus oder erstellen Sie eine neue.

    Postprocessing-Cloud-Funktionsbild in der Cloud Console auswählen

Ereignisbenachrichtigung zu Modellen mit Pub/Sub aktivieren

Nachdem Sie Cloud Run-Funktionen zur Verarbeitung der Modellausgabe und zur Ereignisgenerierung eingerichtet haben, können Sie die Ereignisbenachrichtigung mit Pub/Sub einrichten. Um Nachrichten aus einem Thema zu lesen, müssen Sie auch ein Pub/Sub-Abo auswählen und erstellen.

Console

  1. Öffnen Sie den Tab Anwendungen des Agent Platform Vision-Dashboards.

    Tab „Anwendungen“ aufrufen

  2. Wählen Sie in der Liste neben dem Namen Ihrer Anwendung App ansehen aus.

  3. Klicken Sie auf das unterstützte Modell, um die Seitenleiste mit den Modelldetails zu öffnen.

  4. Wählen Sie im Bereich Ereignisbenachrichtigung die Option Ereignisbenachrichtigung einrichten aus.

  5. Wählen Sie im Fenster Pub/Sub für Ereignisbenachrichtigungen einrichten Ihr vorhandenes Pub/Sub-Thema aus oder erstellen Sie ein neues.

  6. Legen Sie im Feld Häufigkeit einen ganzzahligen Wert für die Häufigkeit in Sekunden fest, mit der eine Benachrichtigung für dasselbe Ereignis gesendet werden kann.

    Bild für Ereignisbenachrichtigungen in der Cloud Console einrichten

  7. Klicken Sie auf Einrichten.

Nächste Schritte