Criar e atualizar um recurso de warehouse

Um Warehouse do Vision (corpus) conectado 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 a seguir para criar e atualizar esses objetos de mídia.

Criar um recurso de streaming de vídeo do warehouse

Depois de criar um warehouse (corpus recurso), é possível adicionar um ou mais recursos de asset de vídeo a ele.

REST e LINHA DE CMD

O código a seguir cria um novo recurso no warehouse especificado (corpus) com a opção de especificar o ID e um 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 que corresponde ao LOCATION_ID, como europe-west4-. Saiba mais sobre endpoints regionalizados.
  • PROJECT_NUMBER: O Google Cloud número do seu projeto.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Confira as regiões disponíveis.
  • CORPUS_ID: o ID do seu 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 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 do Gemini Enterprise Agent Platform Vision

Para enviar uma solicitação para ler um fluxo de saída do modelo, você deve instalar o SDK do Gemini Enterprise Agent Platform Vision.

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

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

  • PROJECT_NUMBER: o número do seu Google Cloud projeto.
  • LOCATION_ID: ID do local. Por exemplo, us-central1. Regiões com suporte. Mais informações.
  • CORPUS_ID: o ID do warehouse 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 ingerir dados de vídeo diretamente no warehouse desse recurso usando a ferramenta de linha de comando vaictl.

Atualizar um recurso de streaming de vídeo do warehouse

Use o exemplo de código a seguir 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 a seguir para atualizar o TTL de um recurso. Só é possível usar um parâmetro de consulta para atualizar o campo TTL. O updateMask funciona da seguinte maneira:

  • Se especificado, apenas os campos no updateMask serão atualizados.
  • Se o valor da máscara de atualização for *, a solicitação 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 a seguir modificam o TTL de um recurso usando o projects.locations.corpora.assets.patch método.

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 que corresponde ao LOCATION_ID, como europe-west4-. Saiba mais sobre endpoints regionalizados.
  • PROJECT_NUMBER: O Google Cloud número do seu projeto.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Confira as regiões disponíveis.
  • CORPUS_ID: o ID do seu corpus de destino.
  • ASSET_ID: o ID do seu recurso de destino.
  • ?updateMask=fieldToUpdate: um dos campos disponíveis em que é possível aplicar um updateMask a. Campos disponíveis:
    • Tempo de vida (TTL): ?updateMask=ttl
    • Atualizar 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 que corresponde ao LOCATION_ID, como europe-west4-. Saiba mais sobre endpoints regionalizados.
  • PROJECT_NUMBER: O Google Cloud número do seu projeto.
  • LOCATION_ID: a região em que você está usando o Agent Platform Vision. Por exemplo: us-central1, europe-west4. Confira as regiões disponíveis.
  • CORPUS_ID: o ID do seu corpus de destino.
  • ASSET_ID: o ID do seu recurso de destino.
  • ?updateMask=fieldToUpdate: um dos campos disponíveis em que é possível aplicar um updateMask a. Campos disponíveis:
    • Tempo de vida (TTL): ?updateMask=ttl
    • Atualizar 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"
}