Faça a gestão dos recursos multimédia

A API Vision Warehouse permite-lhe gerir recursos do Vision Warehouse através da linha de comandos.

Um armazém ligado (corpus) numa app implementada que carrega dados tem um ou mais objetos multimédia (por exemplo, recursos de vídeo). Estes objetos multimédia (recursos asset) contêm metadados e anotações de recursos. Use os seguintes comandos para gerir estes objetos multimédia.

Crie um recurso de recurso

REST

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

Atualize um recurso de recurso

A atualização de recursos só está disponível para recursos de vídeo de streaming.

REST

Para atualizar um recurso de recurso, envie um pedido PATCH através do método projects.locations.corpora.assets.patch.

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.
  • ?updateMask=fieldToUpdate: um dos campos disponíveis aos quais pode aplicar um updateMask. Campos disponíveis:
    • Tempo de vida (TTL): ?updateMask=ttl
    • Atualize todos os campos: ?updateMask=*

Método HTTP e URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl

Corpo JSON do pedido:

{
  "ttl": {
    "seconds": "1"
  }
}

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 PATCH \
-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?updateMask=ttl"

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 PATCH `
-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?updateMask=ttl" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:

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

Apresente recursos num armazém

REST

Para listar recursos num corpus, envie um pedido GET através do método projects.locations.corpora.assets.list.

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.

Método HTTP e URL:

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

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

curl

Execute o seguinte comando:

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

PowerShell

Execute o seguinte comando:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-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:

{
  "assets": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID1",
      "ttl": "86400s"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID2",
      "ttl": "86400s"
    }
  ]
}

Obtenha um recurso

REST

Para obter detalhes sobre um recurso, envie um pedido GET através do método projects.locations.corpora.assets.get.

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:

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

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

curl

Execute o seguinte comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"

PowerShell

Execute o seguinte comando:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID",
  "ttl": "86400s"
}

Elimine recursos multimédia

O exemplo seguinte elimina um recurso de armazém, tornando todas as anotações relacionadas com o mesmo inacessíveis e removidas dos resultados da pesquisa.

REST e linha de comandos

O seguinte exemplo de código elimina recursos num armazém através do método projects.locations.corpora.assets.delete.

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:

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

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

curl

Execute o seguinte comando:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"

PowerShell

Execute o seguinte comando:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID" | Select-Object -Expand Content
A resposta desta chamada devolve um ID de operação de longa duração.
{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID"
}

Obtenha o estado da operação

Para obter o estado da operação de longa duração, chame o método projects.locations.operations.get.

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.
  • OPERATION_ID: o ID da operação devolvido quando inicia uma operação de longa duração. Por exemplo:
    • projects/123456/locations/us-central1/[...]/operations/OPERATION_ID

Método HTTP e URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID

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

curl

Execute o seguinte comando:

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

PowerShell

Execute o seguinte comando:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID" | Select-Object -Expand Content
A resposta está vazia se não existirem erros. Neste ponto, o recurso não é apresentado se chamar GetAsset ou ListAssets.

Gestão de dados de multimédia de recursos

O conteúdo multimédia do recurso pode ser carregado para o Vision Warehouse através de diferentes APIs.

Recurso de vídeo de streaming

Para gerir conteúdo multimédia para recursos de vídeo de streaming, consulte as instruções que se seguem.

Obtenha um recurso de clipe de vídeo através de partições temporais

Depois de criar um armazém e armazenar recursos de vídeo assetno armazém, pode obter clipes de vídeo específicos. Pode enviar um ClipAssetRequest para receber dados de multimédia num intervalo de tempo que definir.

Quando envia um ClipAssetRequest, tem de definir o seguinte:

O exemplo seguinte considera um armazém que contém um recurso com imagens de uma câmara de segurança do início de setembro de 2021 que não excedeu o respetivo tempo de vida (TTL).

Para obter um clipe do período compreendido entre 01/09/2021 às 02:51:59 GMT e 01/09/2021 às 02:52:30 GMT, primeiro, tem de converter a hora de início e de fim em google.protobuf.Timestamp, que é expressa em duração desde a época Unix. Depois de converter as horas de início e fim, pode enviar um pedido semelhante ao seguinte:

REST