La API de Vision Warehouse te permite administrar recursos de Vision Warehouse con la línea de comandos.
Crea un esquema de datos
El corpus de imágenes solo puede crear un esquema de datos de granularidad a nivel del recurso. El corpus de videos de transmisión puede crear esquemas de datos con granularidad a nivel del recurso y a nivel de la partición. El corpus de video por lotes puede crear esquemas de datos con un nivel de detalle a nivel del recurso y a nivel de la partición.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con el
LOCATION_ID
, comoeurope-west4-
. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: Es el ID del corpus de destino.
- DATASCHEMA_KEY: Esta clave debe coincidir con la clave de una anotación especificada por el usuario y ser única dentro de un
corpus
. Por ejemplo,data-key
. - ANNOTATION_DATA_TYPE: Es el tipo de datos de la anotación. Los valores disponibles son los siguientes:
DATA_TYPE_UNSPECIFIED
INTEGER
FLOAT
STRING
DATETIME
GEO_COORDINATE
PROTO_ANY
BOOLEAN
Para obtener más información, consulta la documentación de referencia de la API.
- ANNOTATION_GRANULARITY: Es el nivel de detalle de las anotaciones en este
dataSchema
. Los valores disponibles son los siguientes:GRANULARITY_UNSPECIFIED
: Nivel de detalle no especificado.GRANULARITY_ASSET_LEVEL
: Nivel de detalle a nivel del recurso (las anotaciones no deben contener información de particiones temporales para el recurso de medios).GRANULARITY_PARTITION_LEVEL
: Es la granularidad a nivel de la partición (las anotaciones deben contener información de la partición temporal del activo de medios).
- SEARCH_STRATEGY: Uno de los valores de enumeración disponibles. Son los tipos de estrategias de búsqueda que se aplicarán en la clave de anotación. Los valores disponibles son los siguientes:
NO_SEARCH
EXACT_SEARCH
SMART_SEARCH
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Cuerpo JSON de la solicitud:
{ "key": "DATASCHEMA_KEY", "schema_details": { "type": "ANNOTATION_DATA_TYPE", "granularity": "ANNOTATION_GRANULARITY", "search_strategy": { "search_strategy_type": "SEARCH_STRATEGY" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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/dataSchemas"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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/dataSchemas" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } }
Agrega un esquema de datos de struct personalizado
El struct personalizado permite que los usuarios definan contenedores más complejos para almacenar valores y proporcionar capacidades de búsqueda. Para usar esta función, se debe definir el esquema de datos, por ejemplo:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con el
LOCATION_ID
, comoeurope-west4-
. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: Es el ID del corpus de destino.
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Cuerpo JSON de la solicitud:
{ "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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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/dataSchemas"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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/dataSchemas" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } } } } }
Después de eso, podemos insertar anotaciones
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con el
LOCATION_ID
, comoeurope-west4-
. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: Es el ID del corpus de destino.
- ASSET_ID: Es el ID de tu activo de destino.
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
Cuerpo JSON de la solicitud:
{ "user_specified_annotation" : { "key": "person", "value": { "customized_struct_value":{ "elements" : { "name": { "str_value":"John" }, "age": { "float_value":10.5 } } } } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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/ASSET_ID/annotations"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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/ASSET_ID/annotations" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 } } } } } }
Una vez que se indexa la anotación, se puede emitir una solicitud de búsqueda de la siguiente manera:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con el
LOCATION_ID
, comoeurope-west4-
. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: Es el ID del corpus de destino.
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:searchAssets
Cuerpo JSON de la solicitud:
{ "page_size": 10, "criteria": { "field": "person.name", "text_array": { "txt_values": "John" }, }, }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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:searchAssets"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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:searchAssets" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Actualiza un esquema de datos
LÍNEA DE REST Y CMD
En el siguiente código, se actualiza un dataSchema
con el método projects.locations.corpora.dataSchemas.patch
.
En este ejemplo, se usa ?updateMask=schemaDetails.type,schemaDetails.granularity
en la URL de la solicitud. Incluye los valores schemaDetails.type
y schemaDetails.granularity
en el cuerpo de la solicitud para actualizar el esquema de datos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con el
LOCATION_ID
, comoeurope-west4-
. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: Es el ID del corpus de destino.
- DATASCHEMA_ID: Es el ID de tu esquema de datos de destino.
?updateMask=fieldToUpdate
: Uno de los campos disponibles a los que puedes aplicar unupdateMask
. Especifica el valor del campo nuevo correspondiente en el cuerpo de la solicitud. Este nuevo valor reemplaza el valor de campo existente. Campos disponibles:- Clave:
?updateMask=key
- Tipo de esquema:
?updateMask=schemaDetails.type
- Nivel de detalle del esquema:
?updateMask=schemaDetails.granularity
- Tipo de estrategia de búsqueda de esquema:
?updateMask=schemaDetails.searchStrategy.searchStrategyType
- Actualiza todos los campos:
?updateMask=*
- Clave:
Método HTTP y 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
Cuerpo JSON de la solicitud:
{ "key": "original-data-key", "schemaDetails": { "type":"INTEGER", "granularity":"GRANULARITY_PARTITION_LEVEL" "searchStrategy": { "searchStrategyType": "NO_SEARCH" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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/dataSchemas/DATASCHEMA_ID?updateMask=schemaDetails.type,schemaDetails.granularity" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } }
Enumera el esquema de datos en un corpus
Enumera todos los DataSchema
en un corpus específico. La respuesta contiene todos los recursos DataSchema
, cada uno con un nombre de recurso DataSchema
que se puede usar para obtener un DataSchema
específico.
REST
Para enumerar el esquema de datos, envía una solicitud GET con el método projects.locations.corpora.dataSchemas.list.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con el
LOCATION_ID
, comoeurope-west4-
. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: Es el ID del corpus de destino.
Método HTTP y URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } } ] }
Obtén un esquema de datos
Obtén el DataSchema
de un nombre de recurso DataSchema
específico.
REST
Para obtener detalles sobre un esquema de datos específico, envía una solicitud GET con el método projects.locations.corpora.dataSchemas.get.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con el
LOCATION_ID
, comoeurope-west4-
. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: Es el ID del corpus de destino.
- DATASCHEMA_ID: Es el ID de tu esquema de datos de destino.
Método HTTP y URL:
GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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" } } }
Borra un esquema de datos
LÍNEA DE REST Y CMD
En la siguiente muestra de código, se borra un almacén dataSchema
con el método projects.locations.corpora.dataSchemas.delete
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGIONALIZED_ENDPOINT: El extremo puede incluir un prefijo que coincida con el
LOCATION_ID
, comoeurope-west4-
. Obtén más información sobre los extremos regionalizados. - PROJECT_NUMBER: Tu Google Cloud número de proyecto.
- LOCATION_ID: La región en la que usas Vertex AI Vision. Por ejemplo:
us-central1
,europe-west4
. Consulta las regiones disponibles. - CORPUS_ID: Es el ID del corpus de destino.
- DATASCHEMA_ID: Es el ID de tu esquema de datos de destino.
Método HTTP y URL:
DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/dataSchemas/DATASCHEMA_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el siguiente 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
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{}
Modifica los detalles del esquema del almacén (consola)
Los campos del esquema se generan a partir de los modelos a través de las aplicaciones. También puedes agregar campos personalizados.
Después de modificar los campos facetables, puedes usarlos para buscar en tu almacén.
Console
Abre la pestaña Almacenes del panel de Vertex AI Vision.
Busca el corpus de tu almacén y selecciona su nombre. Aparecerá la página Detalles del almacén.
Selecciona los campos que deseas habilitar para la búsqueda.