A API Vision Warehouse permite gerenciar recursos do Vision Warehouse usando a linha de comando.
Criar um esquema de dados
O corpus de imagens só pode criar um esquema de dados de granularidade no nível do recurso. O corpus de vídeo de streaming pode criar um esquema de dados de granularidade no nível do recurso e no nível da partição. O corpus de vídeo em lote pode criar um esquema de dados de granularidade no nível do recurso e no nível da partição.
REST
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
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o número do projeto do Google Cloud.
- 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.
- DATASCHEMA_KEY: essa chave precisa corresponder à chave de uma anotação especificada pelo usuário e ser exclusiva em um
corpus
. Por exemplo,data-key
. - ANNOTATION_DATA_TYPE: o tipo de dados da anotação. Os valores disponíveis são:
DATA_TYPE_UNSPECIFIED
INTEGER
FLOAT
STRING
DATETIME
GEO_COORDINATE
PROTO_ANY
BOOLEAN
Para mais informações, consulte a documentação de referência da API.
- ANNOTATION_GRANULARITY: a granularidade das anotações em
dataSchema
. Os valores disponíveis são:GRANULARITY_UNSPECIFIED
: granularidade não especificada.GRANULARITY_ASSET_LEVEL
: granularidade no nível do recurso. As anotações não podem conter informações de partição temporal para o recurso de mídia.GRANULARITY_PARTITION_LEVEL
: granularidade no nível da partição. As anotações precisam conter informações de partição temporal para o recurso de mídia.
- SEARCH_STRATEGY: um dos valores de enumeração disponíveis. Os tipos de estratégias de pesquisa a serem aplicadas na chave de anotação. Os valores disponíveis são:
NO_SEARCH
EXACT_SEARCH
SMART_SEARCH
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Corpo JSON da solicitação:
{ "key": "DATASCHEMA_KEY", "schema_details": { "type": "ANNOTATION_DATA_TYPE", "granularity": "ANNOTATION_GRANULARITY", "search_strategy": { "search_strategy_type": "SEARCH_STRATEGY" } } }
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/dataSchemas"
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/dataSchemas" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "data-key", "schemaDetails": { "type": "BOOLEAN", "granularity": "GRANULARITY_ASSET_LEVEL", "searchStrategy": { "search_strategy_type": "EXACT_SEARCH" } } }
Adicionar um esquema de dados de struct personalizado
Com a struct personalizada, os usuários podem definir contêineres mais complexos para armazenar valores e oferecer recursos de pesquisa. Para usar esse recurso, o esquema de dados precisa ser definido, por exemplo:
REST
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
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o número do projeto do Google Cloud.
- 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.
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Corpo JSON da solicitação:
{ "key": "person", "schema_details" : { "type":"CUSTOMIZED_STRUCT", "granularity":"GRANULARITY_ASSET_LEVEL", "customized_struct_config": { "field_schemas": { "name": { "type":"STRING", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } }, "age": { "type":"FLOAT", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } } } } } }
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/dataSchemas"
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/dataSchemas" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "person", "schemaDetails" : { "type":"CUSTOMIZED_STRUCT", "granularity":"GRANULARITY_ASSET_LEVEL", "customized_struct_config": { "field_schemas": { "name": { "type":"STRING", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } }, "age": { "type":"FLOAT", "granularity":"GRANULARITY_ASSET_LEVEL", "search_strategy": { "search_strategy_type":"EXACT_SEARCH" } } } } } }
Depois disso, podemos inserir anotações
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
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o número do projeto do Google Cloud.
- 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 seu recurso de destino.
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
Corpo JSON da solicitação:
{ "user_specified_annotation" : { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
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/ASSET_ID/annotations"
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/ASSET_ID/annotations" | 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/annotations/ANNOTATION_ID", "userSpecifiedAnnotation": { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
Depois que a anotação é indexada, uma solicitação de pesquisa pode ser emitida da seguinte maneira:
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
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o número do projeto do Google Cloud.
- 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.
Método HTTP e URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets
Corpo JSON da solicitação:
{ "page_size": 10, "criteria": { "field": "person.name", "text_array": { "txt_values": "John" }, }, }
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:searchAssets"
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:searchAssets" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
Atualizar um esquema de dados
REST e LINHA DE CMD
O código a seguir atualiza um dataSchema
usando o
método projects.locations.corpora.dataSchemas.patch
.
Este exemplo usa
?updateMask=schemaDetails.type,schemaDetails.granularity
no URL
da solicitação. Ele inclui valores schemaDetails.type
e schemaDetails.granularity
no corpo da solicitação para atualizar o esquema de dados.
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
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o número do projeto do Google Cloud.
- 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.
- DATASCHEMA_ID: o ID do seu esquema de dados de destino.
?updateMask=fieldToUpdate
: um dos campos disponíveis em que você pode aplicar umupdateMask
. Especifique o novo valor do campo correspondente no corpo da solicitação. Esse novo valor substitui o valor do campo atual. Campos disponíveis:- Chave:
?updateMask=key
- Tipo de esquema:
?updateMask=schemaDetails.type
- Granularidade do esquema:
?updateMask=schemaDetails.granularity
- Tipo de estratégia de pesquisa de esquema:
?updateMask=schemaDetails.searchStrategy.searchStrategyType
- Atualizar todos os campos:
?updateMask=*
- Chave:
Método HTTP e URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity
Corpo JSON da solicitação:
{ "key": "original-data-key", "schemaDetails": { "type":"INTEGER", "granularity":"GRANULARITY_PARTITION_LEVEL" "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
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/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity"
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/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID", "key": "original-data-key", "schemaDetails": { "type": "INTEGER", "granularity": "GRANULARITY_PARTITION_LEVEL", "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
Listar o esquema de dados em um corpus
Liste todas as DataSchema
em um corpus específico. A resposta
contém todos os recursos DataSchema
, cada um com um nome de recurso DataSchema
que pode ser usado para receber um DataSchema
específico.
REST
Para listar o esquema de dados, envie uma solicitação GET usando o método projects.locations.corpora.dataSchemas.list.
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
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o número do projeto do Google Cloud.
- 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.
Método HTTP e URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Para enviar a solicitação, 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/dataSchemas"
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/dataSchemas" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "dataSchemas": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/KEY_STRING1", "key": "KEY_STRING1", "schemaDetails": { "type": "STRING", "granularity": "GRANULARITY_ASSET_LEVEL", "searchStrategy": { "searchStrategyType": "EXACT_SEARCH" } } }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/KEY_STRING2", "key": "KEY_STRING2", "schemaDetails": { "type": "PROTO_ANY", "granularity": "GRANULARITY_PARTITION_LEVEL", "protoAnyConfig": { "typeUri": "type.googleapis.com/google.cloud.visionai.v1.VideoActionRecognitionPredictionResult" }, "searchStrategy": { "searchStrategyType": "SMART_SEARCH" } } } ] }
Receber um esquema de dados
Receba o DataSchema
de um nome de recurso DataSchema
específico.
REST
Para mais detalhes sobre um esquema de dados específico, envie uma solicitação GET usando o método projects.locations.corpora.dataSchemas.get.
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
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o número do projeto do Google Cloud.
- 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.
- DATASCHEMA_ID: o ID do seu esquema de dados de destino.
Método HTTP e URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID
Para enviar a solicitação, 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/dataSchemas/DATASCHEMA_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/dataSchemas/DATASCHEMA_ID" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/KEY_STRING", "key": "KEY_STRING", "schemaDetails": { "type": "STRING", "granularity": "GRANULARITY_ASSET_LEVEL", "searchStrategy": { "searchStrategyType": "EXACT_SEARCH" } } }
Excluir um esquema de dados
REST e LINHA DE CMD
O exemplo de código a seguir exclui um dataSchema
de depósito usando o método
projects.locations.corpora.dataSchemas.delete
.
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
, comoeurope-west4-
. Saiba mais sobre os endpoints regionalizados. - PROJECT_NUMBER: o número do projeto do Google Cloud.
- 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.
- DATASCHEMA_ID: o ID do seu esquema de dados de destino.
Método HTTP e URL:
DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID
Para enviar a solicitação, 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/dataSchemas/DATASCHEMA_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/dataSchemas/DATASCHEMA_ID" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{}
Modificar detalhes do esquema do data warehouse (console)
Os campos de esquema são gerados dos modelos pelos aplicativos. Você também pode adicionar campos personalizados.
Depois de modificar os campos facetados, você pode usá-los para pesquisar no seu depósito.
Console
Abra a guia Armazéns do painel da Vertex AI Vision.
Encontre seu corpus de dados e selecione o nome dele. A página Detalhes do data warehouse é exibida.
Selecione os campos que você quer ativar para a pesquisa.