Criar e atualizar um recurso de warehouse

Um Vision Warehouse conectado (corpus) em um app implantado de ingestão de dados tem um ou mais recursos de objeto de mídia (por exemplo, recursos de vídeo). Esses objetos de mídia (recursos asset) contêm metadados e anotações de recursos. Use os comandos abaixo para criar e atualizar esses objetos de mídia.

Criar um recurso de warehouse de vídeo por streaming

Depois de criar um repositório (recurso corpus), é possível adicionar um ou mais recursos de asset de vídeo ao repositório.

REST e LINHA DE CMD

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

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 Google Cloud número do projeto.
  • 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.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: (opcional) um valor fornecido pelo usuário para o ID 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 tempo de vida útil (TTL) de todos os recursos em um corpus ou o TTL de um recurso específico. Por exemplo, para um corpus com recursos com 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:

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

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

SDK da Vertex AI Vision

Para enviar uma solicitação de leitura de um fluxo de saída de modelo, você precisa instalar o SDK da Vertex AI Vision.

Ao usar a ferramenta de linha de comando vaictl para criar um recurso, não é possível especificar um ID ou TTL de recurso.

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

  • PROJECT_NUMBER: o número do projeto Google Cloud .
  • LOCATION_ID: o ID do local. Por exemplo, us-central1. Regiões com suporte. Mais informações.
  • CORPUS_ID: o ID do depósito de destino (recurso corpus).
vaictl --project-id=PROJECT_NUMBER \
--location-id=LOCATION_ID \
--service-endpoint=warehouse-visionai.googleapis.com \
create asset CORPUS_ID

Depois que um recurso é criado, é possível importar dados de vídeo diretamente para o repositório dele usando a ferramenta de linha de comando vaictl.

Atualizar um recurso de depósito de vídeo de streaming

Use o exemplo de código abaixo para atualizar o tempo de vida (TTL) de um recurso. Só é possível atualizar o campo TTL.

Use o parâmetro de consulta updateMask no exemplo de código abaixo para atualizar o TTL de um recurso. É possível usar um parâmetro de consulta para atualizar apenas o campo TTL. O updateMask funciona da seguinte maneira:

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

REST e LINHA DE CMD

Os exemplos de código abaixo modificam o TTL de um recurso usando o método projects.locations.corpora.assets.patch.

Mudar um valor de TTL

Este exemplo usa ?updateMask=ttl no URL da solicitação e inclui um novo valor ttl.seconds no corpo da solicitação para atualizar o recurso.

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 Google Cloud número do projeto.
  • 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.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: o ID do recurso de destino.
  • ?updateMask=fieldToUpdate: um dos campos disponíveis em que é possível aplicar um updateMask. Campos disponíveis:
    • Time to live (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 da solicitação:

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

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

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

Você receberá uma resposta JSON semelhante a esta:

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

Remover um valor de TTL

Este exemplo usa ?updateMask=ttl no URL da solicitação e inclui um corpo de solicitação vazio para limpar o valor de TTL do recurso.

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 Google Cloud número do projeto.
  • 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.
  • CORPUS_ID: o ID do corpus de destino.
  • ASSET_ID: o ID do recurso de destino.
  • ?updateMask=fieldToUpdate: um dos campos disponíveis em que é possível aplicar um updateMask. Campos disponíveis:
    • Time to live (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 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 a seguir:

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

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

Você receberá uma resposta JSON semelhante a esta:

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