- Acompanhe os dados do modelo e gere eventos usando as funções do Cloud Run.
- Envie os eventos gerados pelas funções do Cloud Run pelo canal de eventos do Pub/Sub.
Modelos compatíveis
Os modelos a seguir oferecem a geração de eventos do Cloud Run functions e as integrações de notificação de eventos do Pub/Sub:
- Modelo de análise de ocupação
- Modelos personalizados da Vertex AI
Antes de começar
- Crie um app com, no mínimo, um nó de stream e um de modelo com suporte.
- Opcional. Instale o SDK da Vertex AI Vision e ingerir dados no seu app. Se você não fizer isso antes de configurar a notificação de evento, será necessário fazer isso depois.
- Opcional. Crie uma função do Cloud Run para usar. Se você não criar a função do Cloud Run antes de configurar as funções do Cloud Run para processar a saída do modelo, será necessário criá-la durante esse processo.
- Opcional. Crie um tópico do Pub/Sub para usar. Se você não criar o tópico do Pub/Sub antes de ativar a notificação de evento de modelo com o Pub/Sub, será necessário criá-lo durante esse processo.
- Opcional. Escolha e crie uma assinatura do Pub/Sub. Se você não criar a assinatura do Pub/Sub antes de ativar a notificação de evento do modelo com o Pub/Sub, será necessário criar a assinatura depois de ler as mensagens de um tópico.
Configurar funções do Cloud Run para processar a saída do modelo
Para acionar notificações baseadas em eventos, primeiro configure as funções do Cloud Run para processar a saída do modelo e gerar eventos.
Sua função do Cloud Run se conecta ao modelo e detecta a saída
como a ação de pós-processamento. O Cloud Run function precisa retornar
um AppPlatformCloudFunctionResponse
. Os eventos
(appplatformeventbody
) são
enviados para o tópico do Pub/Sub que você vai configurar na próxima etapa.
Exemplo de função do Cloud Run (modelo de análise de ocupação)
Exemplo de função do 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);
}
Use as instruções a seguir para enviar o fluxo de saída do modelo para sua função do Cloud Run:
Console
Abra a guia Aplicativos do painel da Vertex AI Vision.
Selecione
Ver app ao lado do nome do aplicativo na lista.Clique no modelo compatível para abrir o painel lateral de detalhes do modelo.
Na lista pós-processamento da seção Notificação de evento, selecione sua função do Cloud Run atual ou crie uma nova.
Ativar a notificação de eventos do modelo com o Pub/Sub
Depois de configurar as funções do Cloud Run para processar a saída do modelo e gerar eventos, você pode configurar a notificação de eventos com o Pub/Sub. Para ler mensagens de um tópico, você também precisa escolher e criar uma assinatura do Pub/Sub.
Console
Abra a guia Aplicativos do painel da Vertex AI Vision.
Selecione
Ver app ao lado do nome do aplicativo na lista.Clique no modelo compatível para abrir o painel lateral de detalhes do modelo.
Na seção Notificação de eventos, selecione Configurar notificação de eventos.
Na janela de opções Configurar o Pub/Sub para notificações de eventos que se abre, escolha o tópico do Pub/Sub atual ou crie um novo.
No campo Frequência, defina um valor inteiro para a frequência em segundos em que uma notificação do mesmo tipo de evento pode ser enviada.
Clique em Configurar.
A seguir
- Leia as instruções sobre como implantar o app para testar a notificação de evento do modelo em Implantar e remover a implantação de um aplicativo.
- Siga as etapas do codelab Vertex AI Vision Occupancy Analytics app with event management.
- Saiba mais sobre o Pub/Sub e as funções do Cloud Run em O que é o Pub/Sub? e a Visão geral das funções do Cloud Run.