Criar e atualizar um Batch Video Warehouse

Crie um Batch Video Warehouse pronto para uso na pesquisa.

Como configurar um Batch Video Warehouse mínimo

Há duas maneiras comuns de configurar um warehouse de vídeo em lote mínimo.

  • Opção 1: primeiro implante um índice vazio e adicione recursos de vídeo gradualmente. A sequência típica de API para essa abordagem é a seguinte:

    • Configure um corpus: CreateCorpus e CreateDataSchema.
    • Configure um índice vazio: CreateIndex, CreateIndexEndpoint e DeployIndex.
    • Adicione recursos de vídeo: CreateAsset, UploadAsset, AnalyzeAsset e IndexAsset.
      • (Opcional) Adicione anotações de vídeo: CreateAnnotation.
  • Opção 2: importe os recursos de vídeo primeiro e depois implante um índice. A sequência típica de API para essa abordagem é a seguinte:

    • Configure um corpus: CreateCorpus e CreateDataSchema.
    • Adicione recursos de vídeo: CreateAsset, UploadAsset e AnalyzeAsset.
      • (Opcional) Adicione anotações de vídeo: CreateAnnotation.
    • Configure um índice com recursos atuais: CreateIndex, CreateIndexEndpoint e DeployIndex.

Escolher uma abordagem: A melhor abordagem para você depende das suas necessidades específicas. Se você precisar começar a pesquisar vídeos o quanto antes, use a primeira abordagem. Se você tiver muitos vídeos para importar, use a segunda opção.

Criar um corpus

Para começar, crie um recurso de corpus. Ao criar um corpus do Batch Video Warehouse, especifique EMBEDDING_SEARCH como o valor padrão da propriedade searchCapabilitySetting.

REST e LINHA DE CMD

Cria um recurso de corpus no projeto especificado com a opção de especificar o nome de exibição e a descrição do corpus.

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • DISPLAY_NAME: nome de exibição do data warehouse.
  • WAREHOUSE_DESCRIPTION: a descrição do depósito (corpus).

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora

Corpo JSON da solicitação:

{
  "display_name": "DISPLAY_NAME",
  "description": "WAREHOUSE_DESCRIPTION",
  "type": "VIDEO_ON_DEMAND",
  "search_capability_setting": {
    "search_capabilities": {
      "type": "EMBEDDING_SEARCH"
    }
  }
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
    "displayName": "DISPLAY_NAME",
    "description": "WAREHOUSE_DESCRIPTION",
    "type": "VIDEO_ON_DEMAND",
    "search_capability_setting": {
      "search_capabilities": {
        "type": "EMBEDDING_SEARCH"
      }
    }
  }
}

Criar, fazer upload e analisar recursos

Para adicionar um vídeo ao Batch Video Warehouse, primeiro crie um recurso.

REST e LINHA DE CMD

Para criar um recurso de ativo, envie uma solicitação POST usando o método projects.locations.corpora.assets.create.

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: (opcional) um valor fornecido pelo usuário para o código do recurso. Nesta solicitação, o valor é adicionado ao URL da solicitação no formato:
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
  • TIME_TO_LIVE: o time to live (TTL) de todos os recursos em um corpus ou o TTL de um recurso específico. Por exemplo, para um corpus com recursos que têm um TTL de 100 dias, forneça o valor 8640000 (segundos).

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets

Corpo JSON da solicitação:

{
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
}

A próxima etapa é fazer upload do vídeo usando um URI do Cloud Storage. O Batch Video Warehouse não armazena uma cópia do arquivo de vídeo. A API UploadAsset verifica apenas os metadados do vídeo para garantir que nenhuma cota ou limite seja violado.

REST e LINHA DE CMD

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: o ID do recurso de destino.

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:upload

Corpo JSON da solicitação:

{
  "asset_source": {
    "asset_gcs_source": {
      "gcs_uri": "GCS_URI"
    }
  }
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:upload" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}

O vídeo enviado precisa ser analisado antes de entrar nos índices de pesquisa.

REST e LINHA DE CMD

Analise um recurso de vídeo usando o método projects.locations.corpora.assets.analyze. Por padrão, o Batch Video Warehouse executa a análise de incorporação no conteúdo de vídeo.

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: o ID do recurso de destino.

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:analyze

Corpo JSON da solicitação:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:analyze" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID"
}

Criar esquemas de dados

Um esquema de dados é obrigatório se você quiser anotar os vídeos com metadados personalizados e pesquisar esses metadados. Cada esquema de dados tem uma chave exclusiva, que precisa ser associada a anotações e usada como critério de filtro na pesquisa.

REST e LINHA DE CMD

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • CORPUS_ID: o ID do corpus de destino.
  • DATASCHEMA_KEY: essa chave precisa corresponder à chave de uma anotação especificada pelo usuário e ser exclusiva em um corpus. Por exemplo, data-key.
  • ANNOTATION_DATA_TYPE: o tipo de dados da anotação. Os valores disponíveis são:
    • DATA_TYPE_UNSPECIFIED
    • INTEGER
    • FLOAT
    • STRING
    • DATETIME
    • GEO_COORDINATE
    • PROTO_ANY
    • BOOLEAN

    Para mais informações, consulte a documentação de referência da API.

  • ANNOTATION_GRANULARITY: a granularidade das anotações em dataSchema. Os valores disponíveis são:
    • GRANULARITY_UNSPECIFIED: granularidade não especificada.
    • GRANULARITY_ASSET_LEVEL: granularidade no nível do recurso. As anotações não podem conter informações de partição temporal para o recurso de mídia.
    • GRANULARITY_PARTITION_LEVEL: granularidade no nível da partição. As anotações precisam conter informações de partição temporal para o recurso de mídia.
  • SEARCH_STRATEGY: um dos valores de enumeração disponíveis. Os tipos de estratégias de pesquisa a serem aplicadas na chave de anotação. Os valores disponíveis são:
    • NO_SEARCH
    • EXACT_SEARCH
    • SMART_SEARCH

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas

Corpo JSON da solicitação:

{
  "key": "DATASCHEMA_KEY",
  "schema_details": {
    "type": "ANNOTATION_DATA_TYPE",
    "granularity": "ANNOTATION_GRANULARITY",
    "search_strategy": {
      "search_strategy_type": "SEARCH_STRATEGY"
    }
  }
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID",
  "key": "data-key",
  "schemaDetails": {
    "type": "BOOLEAN",
    "granularity": "GRANULARITY_ASSET_LEVEL",
    "searchStrategy": {
      "search_strategy_type": "EXACT_SEARCH"
    }
  }
}

Criar anotações

É possível anotar um vídeo com anotações no nível do recurso ou com partições temporais relativas. Cada anotação precisa ser especificada com uma chave de esquema de dados existente.

REST e LINHA DE CMD

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: o ID do recurso de destino.
  • ANNOTATION_ID: (opcional) um valor fornecido pelo usuário para o ID da anotação. Nesta solicitação, o valor é adicionado ao URL da solicitação no formato:
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations

Corpo JSON da solicitação:

{
  "user_specified_annotation": {
    "key": "object-detected",
    "value": {
      "str_value": "cat"
    },
    "partition": {
      "relative_temporal_partition": {
        "start_offset": {
          "seconds": "60"
        },
        "end_offset": {
          "seconds": "300"
        }
      }
    }
  }
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
  "userSpecifiedAnnotation": {
    "key": "object-detected",
    "value": {
      "strValue": "cat"
    },
    "partition": {
      "relative_temporal_partition": {
        "start_offset": "60s",
        "end_offset": "300s"
      }
    }
  }
}

Criar um índice

Depois de adicionar recursos de vídeo e anotações, crie um índice em um corpus. Um índice captura o estado do corpus no momento da criação, que inclui todos os recursos e anotações analisados.

REST e LINHA DE CMD

Este exemplo mostra como criar um recurso de índice.

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • CORPUS_ID: o ID do corpus de destino.
  • INDEX_ID: (opcional) um valor fornecido pelo usuário para o ID do índice. Nesta solicitação, o valor é adicionado ao URL da solicitação no formato:
    • https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes

Corpo JSON da solicitação:

{
  "display_name": "DISPLAY_NAME",
  "description": "INDEX_DESCRIPTION",
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata"
  }
}

Implantar o índice no endpoint do índice

Um índice precisa ser implantado em um endpoint de índice antes de ser usado para pesquisa. Um endpoint de índice fornece o ponto de acesso para enviar solicitações de pesquisa.

Este exemplo mostra como criar um endpoint de índice.

REST e LINHA DE CMD

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • INDEX_ENDPOINT_ID: (opcional) um valor fornecido pelo usuário para o ID do endpoint do índice. Nesta solicitação, o valor é adicionado ao URL da solicitação no formato:
    • https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints

Corpo JSON da solicitação:

{
  "display_name": "DISPLAY_NAME",
  "description": "DESCRIPTION",
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
  }
}

Este exemplo mostra como implantar um índice em um endpoint de índice.

REST e LINHA DE CMD

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do endpoint do índice de destino.
  • CORPUS_ID: o ID do corpus de destino.
  • INDEX_ID: o ID do índice de destino.

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

Corpo JSON da solicitação:

{
  "deployedIndex": {
    "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata",
    "deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

Transmitir recursos de atualização no índice

Use os métodos IndexAsset ou RemoveIndexAsset para atualizar ou remover um único recurso em um índice implantado. Com a atualização de streaming, é possível atualizar e pesquisar o índice em pouco tempo.

Este exemplo mostra como atualizar um recurso no índice.

REST e LINHA DE CMD

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: o ID do recurso de destino.

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:index

Corpo JSON da solicitação:

{
  "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:index" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}

Este exemplo mostra como remover um recurso do índice.

REST e LINHA DE CMD

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

  • REGIONALIZED_ENDPOINT: o endpoint pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Saiba mais sobre os endpoints regionalizados.
  • PROJECT_NUMBER: o número do projeto do Google Cloud.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Consulte as regiões disponíveis.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: o ID do recurso de destino.

Método HTTP e URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:removeIndex

Corpo JSON da solicitação:

{
  "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
}

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 abaixo:

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

PowerShell

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

$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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:removeIndex" | Select-Object -Expand Content

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID",
}

A seguir

  • Saiba como pesquisar no Batch Video Warehouse.