- Ouvir os dados do modelo e gerar eventos a partir deles através de funções do Cloud Run.
- Envie os eventos gerados pelas funções do Cloud Run através do canal de eventos do Pub/Sub.
Modelos suportados
Os seguintes modelos oferecem a geração de eventos de funções do Cloud Run e integrações de notificações de eventos do Pub/Sub:
- Modelo de estatísticas de ocupação
- Modelos preparados de forma personalizada do Vertex AI
Antes de começar
- Crie uma app com, no mínimo, um nó de stream e um nó de modelo suportado.
- Opcional. Instale o SDK Vertex AI Vision e introduza dados na sua app. Se não o fizer antes de configurar a notificação de eventos, tem de o fazer depois.
- Opcional. Crie uma função do Cloud Run para usar. Se 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, tem de a criar durante esse processo.
- Opcional. Crie um tópico Pub/Sub para usar. Se não criar o tópico do Pub/Sub antes de ativar a notificação de eventos do modelo com o Pub/Sub, tem de o criar durante esse processo.
- Opcional. Escolha e crie uma subscrição do Pub/Sub. Se não criar a sua subscrição do Pub/Sub antes de ativar a notificação de eventos do modelo com o Pub/Sub, tem de a criar depois para ler mensagens de um tópico.
Configure funções do Cloud Run para processar a saída do modelo
Para acionar notificações baseadas em eventos, primeiro, tem de configurar funções do Cloud Run para processar a saída do modelo e gerar eventos.
A sua função do Cloud Run liga-se ao modelo e ouve a respetiva saída
como ação de pós-processamento. A função do Cloud Run deve devolver um AppPlatformCloudFunctionResponse
. Os eventos
(appplatformeventbody
) são
enviados para o tópico Pub/Sub que configurar no passo seguinte.
Função de exemplo do Cloud Run (modelo de estatísticas de ocupação)
Função de exemplo 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 seguintes instruções para enviar o fluxo de saída do modelo para a sua função do Cloud Run:
Consola
Abra o separador Aplicações do painel de controlo do Vertex AI Vision.
Selecione
Ver app junto ao nome da sua aplicação na lista.Clique no modelo suportado para abrir o painel lateral de detalhes do modelo.
Na lista de pós-processamento da secção Notificação de eventos, selecione a sua função do Cloud Run existente ou crie uma nova.
Ative a notificação de eventos do modelo com o Pub/Sub
Depois de configurar as funções do Cloud Run para processar o resultado do modelo e gerar eventos, pode configurar a notificação de eventos com o Pub/Sub. Para ler mensagens de um tópico, também tem de escolher e criar uma subscrição do Pub/Sub.
Consola
Abra o separador Aplicações do painel de controlo do Vertex AI Vision.
Selecione
Ver app junto ao nome da sua aplicação na lista.Clique no modelo suportado para abrir o painel lateral de detalhes do modelo.
Na secção Notificação de eventos, selecione Configurar notificação de eventos.
Na janela de opção Configurar o Pub/Sub para notificações de eventos que é aberta, escolha o tópico Pub/Sub existente ou crie um novo.
No campo Frequência, defina um valor inteiro para o valor de frequência em segundos em que pode ser enviada uma notificação para o mesmo tipo de evento.
Clique em Configurar.
O que se segue?
- Leia as instruções sobre como implementar a sua app para testar a notificação de eventos do modelo em Implemente e anule a implementação de uma aplicação.
- Trabalhe no codelab App Vertex AI Vision Occupancy Analytics com gestão de eventos.
- Saiba mais sobre as funções do Pub/Sub e do Cloud Run em O que é o Pub/Sub? e na Vista geral das funções do Cloud Run.