Crie e atualize um recurso de armazém

Um Vision Warehouse associado (corpus) numa app implementada que carrega dados tem um ou mais recursos de 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 comandos seguintes para criar e atualizar estes objetos multimédia.

Crie um recurso de banco de dados de vídeo em streaming

Depois de criar um armazém (recurso corpus), pode adicionar um ou mais recursos de asset vídeo ao armazém.

REST e linha de comandos

O código seguinte cria um novo recurso no armazém indicado (corpus) com a opção de especificar o ID do recurso e um TTL.

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:

{
  "ttl": {
    "seconds": TIME_TO_LIVE
  }
}

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",
  "ttl": "TIME_TO_LIVEs"
}

SDK Vertex AI Vision

Para enviar um pedido para ler um fluxo de saída do modelo, tem de instalar o SDK Vertex AI Vision.

Quando usa a ferramenta de linha de comandos vaictl para criar um recurso, não pode especificar um ID do recurso nem um TTL.

Faça as seguintes substituições de variáveis:

  • PROJECT_NUMBER: o seu Google Cloud número do projeto.
  • LOCATION_ID: o ID da sua localização. Por exemplo, us-central1. Regiões suportadas. Mais informações.
  • CORPUS_ID: o ID do armazém de destino (recurso corpus).
vaictl --project-id=PROJECT_NUMBER \
--location-id=LOCATION_ID \
--service-endpoint=warehouse-visionai.googleapis.com \
create asset CORPUS_ID

Depois de criar um recurso, pode carregar dados de vídeo diretamente para o armazém de dados desse recurso através da ferramenta de linha de comandos vaictl.

Atualize um recurso de banco de dados de vídeo de streaming

Use o seguinte exemplo de código para atualizar o tempo de vida (TTL) de um recurso. Só pode atualizar o campo TTL.

Use o parâmetro de consulta updateMask no seguinte exemplo de código para atualizar o TTL de um recurso. Pode usar um parâmetro de consulta para atualizar apenas o campo TTL. O updateMask funciona da seguinte forma:

  • Se for especificado, apenas os campos no updateMask são atualizados.
  • Se o valor da máscara de atualização for *, o pedido atualiza todos os campos.
  • Se a máscara de atualização não for especificada, apenas os campos no URL do pedido com um valor fornecido no corpo do pedido são atualizados.

REST e linha de comandos

Os exemplos de código seguintes modificam o TTL de um recurso através do método projects.locations.corpora.assets.patch.

Altere um valor TTL

Este exemplo usa ?updateMask=ttl no URL do pedido e inclui um novo valor ttl.seconds no corpo do pedido para atualizar o recurso.

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

Remova um valor de TTL

Este exemplo usa ?updateMask=ttl no URL do pedido e inclui um corpo do pedido vazio para limpar o valor TTL do recurso.

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:

{}

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