Gerenciar instâncias de aplicativos

Depois de criar e implantar apps, é possível gerenciar essas instâncias usando o console ou a linha de comando do Google Cloud .

Conferir instâncias e saída do app implantado

É possível conferir as instâncias e a saída do app usando o console Google Cloud ou a linha de comando. Em seguida, use essas informações para ler fluxos de saída do modelo e receber recursos.

IU da Web

Confira as instâncias e a saída de um app no console do Google Cloud .

  1. Abra a guia Aplicativos do painel da Vertex AI Vision.

    Acesse a guia "Aplicativos"

  2. Selecione o nome do app que você quer acessar. Isso leva você à página de detalhes do aplicativo.

    A página de detalhes do aplicativo mostra uma tabela com recursos do aplicativo. Essa tabela lista todas as instâncias em execução do aplicativo. Cada fluxo de entrada para o aplicativo tem uma instância própria. Cada instância tem os próprios recursos de entrada e saída listados abaixo dela.

    Imagem da página de detalhes do recurso do app

  3. Para inspecionar os recursos de transmissão ou de ativos do data warehouse na tabela de instâncias, clique no ID de entrada ou saída ou selecione o caminho.

    • Se você clicar no recurso stream, vai ser redirecionado para a página de detalhes do stream, onde é possível inspecionar as informações detalhadas dele.

      Para saber como ler um fluxo de saída de um modelo usando a linha de comando, consulte Criar e gerenciar fluxos.

      Imagem de detalhes do recurso de stream

    • Ao clicar no recurso recurso do warehouse, você acessa a página de detalhes do recurso do Vision Warehouse.

      Para receber um recurso do Vision Warehouse, consulte Gerenciar recursos usando a API Vision Warehouse.

      Imagem de detalhes do recurso do warehouse

REST

Para listar as instâncias de app, envie uma solicitação GET usando o método projects.locations.applications.instances.list.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

Método HTTP e URL:

GET https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances

Para enviar a solicitação, escolha uma destas opções:

curl

execute o seguinte comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances"

PowerShell

execute o seguinte comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "instances": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID/instances/INSTANCE_ID",
      "createTime": "2022-03-01T20:05:45.863836157Z",
      "inputResources": [
        {
          "inputResource": "input-stream",
          "consumerNode": "builtin-input-stream"
        }
      ],
      "outputResources": [
        {
          "outputResource": "sample-resource-1",
          "producerNode": "builtin-occupancy-count",
          "isTemporary": true
        },
        {
          "outputResource": "sample-resource-2",
          "producerNode": "builtin-input-stream"
        },
        {
          "outputResource": "sample-resource-3",
          "producerNode": "builtin-input-stream",
          "isTemporary": true
        },
        {
          "outputResource": "sample-resource-4",
          "producerNode": "builtin-input-stream",
          "isTemporary": true
        }
      ]
    }
  ]
}

Excluir uma instância de app

REST

Para excluir instâncias de aplicativos, envie uma solicitação POST usando o método projects.locations.applications.deleteApplicationInstances.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando a Vertex AI Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • APPLICATION_ID: o ID do aplicativo de destino.

Método HTTP e URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:deleteApplicationInstances

Corpo JSON da solicitação:

{
  "instanceIds": [
    "INSTANCE_ID1",
    "INSTANCE_ID2",
    [...]
  ]
}

Para enviar a solicitação, escolha uma destas opções:

curl

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:deleteApplicationInstances"

PowerShell

Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:deleteApplicationInstances" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.OperationMetadata",
    "createTime": "[...]",
    "Target": "projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID"
    "Verb": "update"
    "apiVersion": "v1"
  },
  "done": false
}

Gerenciar apps em grande escala

Os métodos de implantação e remoção são válidos para aplicativos com menos de 20 instâncias. Se o app tiver mais de 20 instâncias, crie e remova instâncias de forma incremental com a API. O fluxo de trabalho recomendado é o seguinte:

  1. Crie seu app.
  2. Adicione de 1 a 20 instâncias experimentais.
  3. Implante o aplicativo.
  4. Verifique se o app funciona conforme o esperado.
  5. Use o método createApplicationInstances para adicionar entradas de forma incremental ao aplicativo implantado.
  6. Permita que o app seja executado.
  7. Use o método deleteApplicationInstances para remover entradas de forma incremental dos aplicativos implantados.
  8. Cancele a implantação do aplicativo.