Benachrichtigungen zu Modellereignissen mit Cloud Functions und Pub/Sub aktivieren

In Vertex AI Vision erhalten Modelle Mediendaten von Geräten wie Kameras, führen KI-Vorhersagen auf den Daten aus und erstellen kontinuierlich Anmerkungen. Häufig werden diese verarbeiteten Daten an ein Datenziel (Data Sink) wie ein Media-Warehouse oder BigQuery gesendet, um sie für weitere Analysejobs zu verwenden. Es kann jedoch vorkommen, dass einige Anmerkungen anders behandelt werden müssen oder dass die Anmerkungen zeitnah benötigt werden. Integrationen mit Cloud Run Functions und Pub/Sub können Ihnen dabei helfen, diese Anforderungen zu erfüllen.

So aktivieren Sie Benachrichtigungen zu Modellereignissen:

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

Unterstützte Modelle

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

Hinweise

Cloud Run-Funktionen für die Verarbeitung der Modellausgabe konfigurieren

Wenn Sie ereignisbasierte Benachrichtigungen auslösen möchten, müssen Sie zuerst Cloud Run-Funktionen einrichten, um die Modellausgabe zu verarbeiten und Ereignisse zu generieren.

Ihre Cloud Run-Funktion stellt eine Verbindung zum Modell her und überwacht die Ausgabe als Nachbearbeitungsaktion. Die Cloud Run-Funktion sollte einen 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 für Belegung analysieren)

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

So senden Sie den Modellausgabestream an Ihre Cloud Run-Funktion:

Console

  1. Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.

    Zum Tab „Anwendungen“

  2. Wählen Sie in der Liste neben dem Namen Ihrer Anwendung die Option 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 in der Liste Nachbearbeitung eine vorhandene Cloud Run-Funktion aus oder erstellen Sie eine neue.

    Cloud Function-Image für die Nachbearbeitung in der Cloud Console auswählen

Benachrichtigungen zu Modellereignissen mit Pub/Sub aktivieren

Nachdem Sie Cloud Run-Funktionen eingerichtet haben, um die Modellausgabe zu verarbeiten und Ereignisse zu generieren, können Sie Ereignisbenachrichtigungen mit Pub/Sub einrichten. Wenn Sie Nachrichten von einem Thema lesen möchten, müssen Sie außerdem ein Pub/Sub-Abo auswählen und erstellen.

Console

  1. Öffnen Sie den Tab Anwendungen des Vertex AI Vision-Dashboards.

    Zum Tab „Anwendungen“

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

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

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

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

  6. Legen Sie im Feld Häufigkeit einen Ganzzahlwert in Sekunden fest, nach dem eine Benachrichtigung für denselben Ereignistyp gesendet werden kann.

    Bild für Ereignisbenachrichtigungen in der Cloud Console einrichten

  7. Klicken Sie auf Einrichten.

Nächste Schritte