Crea un almacén de vídeos por lotes que esté listo para usarse en las búsquedas.
Configurar un almacén de vídeo por lotes mínimo
Hay dos formas habituales de configurar un Batch Video Warehouse mínimo.
Opción 1: Implementar primero un índice vacío y, después, añadir recursos de vídeo gradualmente. La secuencia de API habitual para este enfoque es la siguiente:
- Configura un corpus:
CreateCorpus
y, a continuación,CreateDataSchema
. - Configura un índice vacío:
CreateIndex
,CreateIndexEndpoint
yDeployIndex
. - Añadir recursos de vídeo:
CreateAsset
,UploadAsset
,AnalyzeAsset
yIndexAsset
.- (Opcional) Añade anotaciones de vídeo:
CreateAnnotation
.
- (Opcional) Añade anotaciones de vídeo:
- Configura un corpus:
Opción 2: Importar recursos de vídeo primero y, después, implementar un índice. La secuencia de API habitual para este enfoque es la siguiente:
- Configura un corpus:
CreateCorpus
y, a continuación,CreateDataSchema
. - Añade recursos de vídeo:
CreateAsset
,UploadAsset
yAnalyzeAsset
.- (Opcional) Añade anotaciones de vídeo:
CreateAnnotation
.
- (Opcional) Añade anotaciones de vídeo:
- Configura un índice con recursos:
CreateIndex
,CreateIndexEndpoint
yDeployIndex
.
- Configura un corpus:
Elegir un método: El método más adecuado para ti dependerá de tus necesidades específicas. Si necesitas empezar a buscar vídeos lo antes posible, te recomendamos que uses el primer método. Si tienes muchos vídeos que importar, te recomendamos que uses esta opción.
Crear un corpus
Para empezar, debes crear un recurso de corpus. Cuando crees un corpus de Batch Video Warehouse, especifica EMBEDDING_SEARCH
como valor predeterminado de la propiedad searchCapabilitySetting
.
REST Y LÍNEA DE COMANDOS
Crea un recurso de corpus en el proyecto indicado con la opción de especificar el nombre visible y la descripción del corpus.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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. - DISPLAY_NAME: nombre visible del almacén.
- WAREHOUSE_DESCRIPTION: la descripción del almacén (
corpus
).
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora
Cuerpo JSON de la solicitud:
{ "display_name": "DISPLAY_NAME", "description": "WAREHOUSE_DESCRIPTION", "type": "VIDEO_ON_DEMAND", "search_capability_setting": { "search_capabilities": { "type": "EMBEDDING_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"
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" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus", "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID", "displayName": "DISPLAY_NAME", "description": "WAREHOUSE_DESCRIPTION", "type": "VIDEO_ON_DEMAND", "search_capability_setting": { "search_capabilities": { "type": "EMBEDDING_SEARCH" } } } }
Crear, subir y analizar recursos
Para añadir un vídeo a Almacén de vídeos en bloque, primero debes crear un recurso.
REST Y LÍNEA DE COMANDOS
Para crear un recurso Asset, envía una solicitud POST
mediante el método projects.locations.corpora.assets.create
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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: el ID del corpus de destino.
- ASSET_ID: (Opcional) Valor proporcionado por el usuario para el ID de recurso. En esta solicitud, el valor se añade a la URL de la solicitud con el siguiente formato:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets?asset_id=ASSET_ID
- TIME_TO_LIVE: el tiempo de vida (TTL) de todos los recursos de un corpus o el TTL de un recurso específico. Por ejemplo, en un corpus con recursos que tengan un TTL de 100 días, proporciona el valor
8640000
(segundos).
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets
Cuerpo JSON de la solicitud:
{ }
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"
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" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID" }
El siguiente paso es subir el vídeo desde un URI de Cloud Storage.
Ten en cuenta que Batch Video Warehouse no almacena una copia del archivo de vídeo.
La API UploadAsset
solo verifica los metadatos de los vídeos para asegurarse de que no se infrinjan las cuotas ni los límites.
REST Y LÍNEA DE COMANDOS
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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: el ID del corpus de destino.
- ASSET_ID: ID del recurso 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:upload
Cuerpo JSON de la solicitud:
{ "asset_source": { "asset_gcs_source": { "gcs_uri": "GCS_URI" } } }
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:upload"
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:upload" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID", }
El vídeo subido debe analizarse antes de incluirse en los índices de búsqueda.
REST Y LÍNEA DE COMANDOS
Analiza un recurso de vídeo con el método projects.locations.corpora.assets.analyze
.
De forma predeterminada, Batch Video Warehouse realiza análisis de inserción en el contenido de vídeo.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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: el ID del corpus de destino.
- ASSET_ID: ID del recurso 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:analyze
Cuerpo JSON de la solicitud:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID" }
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:analyze"
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:analyze" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID" }
Crear esquemas de datos
Es obligatorio usar un esquema de datos si quieres anotar los vídeos con metadatos personalizados y buscar los metadatos. Cada esquema de datos tiene una clave única que se debe asociar a las anotaciones y utilizar como criterio de filtro en las búsquedas.
REST Y LÍNEA DE COMANDOS
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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: 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 en un
corpus
. Por ejemplo,data-key
. - ANNOTATION_DATA_TYPE: el tipo de datos de la anotación. Los valores disponibles son:
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: la granularidad de las anotaciones de este
dataSchema
. Los valores disponibles son:GRANULARITY_UNSPECIFIED
: granularidad no especificada.GRANULARITY_ASSET_LEVEL
: granularidad a nivel de recurso (las anotaciones no deben contener información de partición temporal del recurso multimedia).GRANULARITY_PARTITION_LEVEL
: granularidad a nivel de partición (las anotaciones deben contener información temporal de la partición del recurso multimedia).
- SEARCH_STRATEGY: uno de los valores de enumeración disponibles. Tipos de estrategias de búsqueda que se aplicarán a la clave de anotación. Los valores disponibles son:
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 siguiente:
{ "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" } } }
Crear anotaciones
Puedes añadir anotaciones a un vídeo con anotaciones a nivel de recurso o con anotaciones con particiones temporales relativas. Cada anotación debe especificarse con una clave de esquema de datos ya disponible.
REST Y LÍNEA DE COMANDOS
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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: el ID del corpus de destino.
- ASSET_ID: ID del recurso de destino.
- ANNOTATION_ID: (opcional) valor proporcionado por el usuario para el ID de la anotación. En esta solicitud, el valor se añade a la URL de la solicitud con el siguiente formato:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
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": "object-detected", "value": { "str_value": "cat" }, "partition": { "relative_temporal_partition": { "start_offset": { "seconds": "60" }, "end_offset": { "seconds": "300" } } } } }
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 siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID", "userSpecifiedAnnotation": { "key": "object-detected", "value": { "strValue": "cat" }, "partition": { "relative_temporal_partition": { "start_offset": "60s", "end_offset": "300s" } } } }
Crear un índice
Después de añadir recursos de vídeo y anotaciones, puede crear un índice en un corpus. Un índice captura el estado del corpus en el momento de la creación, que incluye todos los recursos y las anotaciones analizados.
REST Y LÍNEA DE COMANDOS
En este ejemplo se muestra cómo crear un recurso de índice.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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: el ID del corpus de destino.
- INDEX_ID: (opcional) valor proporcionado por el usuario para el ID de índice. En esta solicitud, el valor se añade a la URL de la solicitud con el siguiente formato:
- https://REGIONALIZED_ENDPOINT/v1/[...]/corpora/CORPUS_ID/indexes?index_id=INDEX_ID
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes
Cuerpo JSON de la solicitud:
{ "display_name": "DISPLAY_NAME", "description": "INDEX_DESCRIPTION", }
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/indexes"
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/indexes" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexMetadata" } }
Desplegar un índice en un endpoint de índice
Un índice debe desplegarse en un endpoint de índice para poder usarse en búsquedas. Un endpoint de índice proporciona el punto de acceso para enviar solicitudes de búsqueda.
En este ejemplo se muestra cómo crear un endpoint de índice.
REST Y LÍNEA DE COMANDOS
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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. - INDEX_ENDPOINT_ID: (opcional) valor proporcionado por el usuario para el ID del endpoint del índice. En esta solicitud, el valor se añade a la URL de la solicitud con el siguiente formato:
- https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints
Cuerpo JSON de la solicitud:
{ "display_name": "DISPLAY_NAME", "description": "DESCRIPTION", }
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/indexEndpoints"
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/indexEndpoints" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata" } }
En este ejemplo se muestra cómo desplegar un índice en un endpoint de índice.
REST Y LÍNEA DE COMANDOS
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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. - INDEX_ENDPOINT_ID: el ID del endpoint de índice de destino.
- CORPUS_ID: el ID del corpus de destino.
- INDEX_ID: el ID del índice de destino.
Método HTTP y URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
Cuerpo JSON de la solicitud:
{ "deployedIndex": { "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" } }
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/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"
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/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata", "deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" } }
Recursos de actualización de streaming en el índice
Puedes usar los métodos IndexAsset
o RemoveIndexAsset
para actualizar o quitar un solo recurso de un índice desplegado. La actualización de streaming te permite actualizar y buscar en el índice en poco tiempo.
En este ejemplo se muestra cómo actualizar un recurso en el índice.
REST Y LÍNEA DE COMANDOS
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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: el ID del corpus de destino.
- ASSET_ID: ID del recurso 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:index
Cuerpo JSON de la solicitud:
{ "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" }
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:index"
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:index" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID", }
En este ejemplo se muestra cómo quitar un recurso del índice.
REST Y LÍNEA DE COMANDOS
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- REGIONALIZED_ENDPOINT: el endpoint puede incluir un prefijo que coincida con
LOCATION_ID
, comoeurope-west4-
. Consulta más información sobre los puntos finales 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: el ID del corpus de destino.
- ASSET_ID: ID del recurso 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:removeIndex
Cuerpo JSON de la solicitud:
{ "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID" }
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:removeIndex"
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:removeIndex" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID", }
Siguientes pasos
- Consulta cómo buscar en Batch Video Warehouse.