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, comoeurope-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, comoeurope-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 umupdateMask. Campos disponíveis:- Tempo de vida (TTL):
?updateMask=ttl - Atualize todos os campos:
?updateMask=*
- Tempo de vida (TTL):
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, comoeurope-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, comoeurope-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, comoeurope-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
{
"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, comoeurope-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
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:
temporal_partition: o intervalo de datas dos clipes pretendidos.
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: