Crie e atualize um armazém de vídeos em lote

Crie um armazém de vídeos em lote pronto a usar para a pesquisa.

Configurar um Batch Video Warehouse mínimo

Existem duas formas comuns de configurar um armazém de vídeo em lote mínimo.

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

    • Configure um corpus: CreateCorpus e, de seguida, 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 primeiro os recursos de vídeo e, em seguida, implemente um índice. A sequência de API típica para esta abordagem é a seguinte:

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

Escolher uma abordagem: A melhor abordagem para si depende das suas necessidades específicas. Se precisar de começar a pesquisar vídeos o mais rapidamente possível, recomendamos que use a primeira abordagem. Se tiver um grande número de vídeos para importar, recomendamos que use a segunda opção.

Crie um corpus

Para começar, tem de criar um recurso de corpus. Quando criar um corpus do Video Warehouse em lote, especifique EMBEDDING_SEARCH como o valor predefinido da propriedade searchCapabilitySetting.

REST e linha de comandos

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

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • DISPLAY_NAME: nome a apresentar do armazém.
  • WAREHOUSE_DESCRIPTION: a descrição do armazém (corpus).

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
      }
    }
  }
}

Crie, carregue e analise recursos

Para adicionar um vídeo ao Batch Video Warehouse, comece por criar um recurso.

REST e linha de comandos

Para criar um recurso de recurso, envie um pedido POST através do método projects.locations.corpora.assets.create.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • CORPUS_ID: o ID do seu corpus de destino.
  • ASSET_ID: (opcional) Um valor fornecido pelo utilizador para o ID do recurso. Neste pedido, o valor é adicionado ao URL do pedido no formato:
    • https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
  • TIME_TO_LIVE: O tempo de vida (TTL) de todos os recursos num corpus ou o TTL de um recurso específico. Por exemplo, para um conjunto de dados com recursos com um TTL de 100 dias, indique 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 do pedido:

{
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

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

O passo seguinte é carregar o vídeo a partir de um URI do Cloud Storage. Tenha em atenção que o Batch Video Warehouse não armazena uma cópia do ficheiro de vídeo. A API UploadAsset só valida os metadados de vídeo para garantir que não são violadas quotas nem limites.

REST e linha de comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • CORPUS_ID: o ID do seu 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

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

O vídeo carregado tem de ser analisado antes de ser incluído nos índices de pesquisa.

REST e linha de comandos

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

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • CORPUS_ID: o ID do seu 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

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

Crie esquemas de dados

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

REST e linha de comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • CORPUS_ID: o ID do seu corpus de destino.
  • DATASCHEMA_KEY: esta chave tem de corresponder à chave de uma anotação especificada pelo utilizador e ser exclusiva num 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: o nível de detalhe das anotações nesta dataSchema. Os valores disponíveis são:
    • GRANULARITY_UNSPECIFIED - Granularidade não especificada.
    • GRANULARITY_ASSET_LEVEL - Granularidade ao nível do recurso (as anotações não podem conter informações de partição temporal para o recurso multimédia).
    • GRANULARITY_PARTITION_LEVEL - Granularidade ao nível da partição (as anotações têm de conter informações de partição temporais para o recurso multimédia).
  • SEARCH_STRATEGY: um dos valores enum disponíveis. Os tipos de estratégias de pesquisa a aplicar 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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

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

REST e linha de comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • CORPUS_ID: o ID do seu corpus de destino.
  • ASSET_ID: o ID do recurso de destino.
  • ANNOTATION_ID: (opcional) um valor fornecido pelo utilizador para o ID da anotação. Neste pedido, o valor é adicionado ao URL do pedido 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
      }
    }
  }
}

Crie um índice

Depois de adicionar recursos de vídeo e anotações, pode avançar para a criação de um índice num corpus. Um índice capta o estado do corpus no momento da criação, que inclui todos os recursos e anotações analisados.

REST e linha de comandos

Este exemplo mostra como criar um recurso de índice.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • CORPUS_ID: o ID do seu corpus de destino.
  • INDEX_ID: (Opcional) Um valor fornecido pelo utilizador para o ID do índice. Neste pedido, o valor é adicionado ao URL do pedido 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
  }
}

Implemente o índice no ponto final do índice

Tem de implementar um índice num ponto final do índice antes de o poder usar para a pesquisa. Um ponto final de índice fornece o ponto de acesso para enviar pedidos de pesquisa.

Este exemplo mostra como criar um ponto final de índice.

REST e linha de comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • INDEX_ENDPOINT_ID: (Opcional) Um valor fornecido pelo utilizador para o ID do ponto final do índice. Neste pedido, o valor é adicionado ao URL do pedido 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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 implementar um índice num ponto final do índice.

REST e linha de comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • INDEX_ENDPOINT_ID: o ID do seu ponto final do índice de destino.
  • CORPUS_ID: o ID do seu 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
  }
}

Streaming de recursos de atualização no índice

Pode usar os métodos IndexAsset ou RemoveIndexAsset para atualizar ou remover um único recurso num índice implementado. A atualização de streaming permite-lhe atualizar e pesquisar o índice num curto período de tempo.

Este exemplo mostra como atualizar um recurso no índice.

REST e linha de comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • CORPUS_ID: o ID do seu 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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 comandos

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • REGIONALIZED_ENDPOINT: o ponto final pode incluir um prefixo correspondente ao LOCATION_ID, como europe-west4-. Veja mais informações sobre os pontos finais regionalizados.
  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: A região onde está a usar o Vertex AI Vision. Por exemplo: us-central1, europe-west4. Veja as regiões disponíveis.
  • CORPUS_ID: o ID do seu 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 do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

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

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

$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

Deve receber uma resposta JSON semelhante à seguinte:

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

O que se segue?

  • Saiba como pesquisar no Batch Video Warehouse.