Un Vision Warehouse conectado (corpus
) en una aplicación desplegada que ingiere datos tiene uno o varios recursos de objetos multimedia (por ejemplo, recursos de vídeo).
Estos objetos multimedia (recursos asset
) contienen metadatos y anotaciones de recursos. Usa los siguientes comandos para crear y actualizar estos objetos multimedia.
Crear un recurso de almacén de vídeo en streaming
Una vez que haya creado un almacén (recurso corpus
), puede añadir uno o varios recursos asset
al almacén.
REST Y LÍNEA DE COMANDOS
El siguiente código crea un nuevo recurso en el almacén determinado (corpus
) con la opción de especificar el ID del recurso y un TTL.
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:
{ "ttl": { "seconds": TIME_TO_LIVE } }
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", "ttl": "TIME_TO_LIVEs" }
SDK de Vertex AI Vision
Para enviar una solicitud para leer un flujo de salida de un modelo, debes instalar el SDK de Vertex AI Vision.
Cuando se usa la herramienta de línea de comandos vaictl
para crear un recurso, no se puede especificar un ID de recurso ni un TTL.
Sustituye las siguientes variables:
- PROJECT_NUMBER: tu número de proyecto. Google Cloud
- LOCATION_ID: tu ID de ubicación. Por ejemplo,
us-central1
. Regiones admitidas Más información - CORPUS_ID: ID del almacén de destino (recurso
corpus
).
vaictl --project-id=PROJECT_NUMBER \
--location-id=LOCATION_ID \
--service-endpoint=warehouse-visionai.googleapis.com \
create asset CORPUS_ID
Una vez que se ha creado un recurso, puedes ingerir datos de vídeo directamente en el almacén de datos de ese recurso mediante la herramienta de línea de comandos vaictl
.
Actualizar un recurso de almacén de vídeo en streaming
Utiliza el siguiente código de ejemplo para actualizar el tiempo de vida (TTL) de un recurso. Solo puedes actualizar el campo TTL.
Usa el parámetro de consulta updateMask
en el siguiente código de ejemplo para actualizar el TTL de un recurso. Puede usar un parámetro de consulta para actualizar solo el campo TTL. El
updateMask
funciona de la siguiente manera:
- Si se especifica, solo se actualizan los campos de
updateMask
. - Si el valor de la máscara de actualización es
*
, la solicitud actualiza todos los campos. Si no se especifica la máscara de actualización, solo se actualizarán los campos de la URL de la solicitud que tengan un valor en el cuerpo de la solicitud.
REST Y LÍNEA DE COMANDOS
En los siguientes ejemplos de código se modifica el TTL de un recurso mediante el método projects.locations.corpora.assets.patch
.
Cambiar un valor de TTL
En este ejemplo se usa ?updateMask=ttl
en la URL de la solicitud y se incluye un nuevo valor de ttl.seconds
en el cuerpo de la solicitud para actualizar el recurso.
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.
?updateMask=fieldToUpdate
: uno de los campos disponibles a los que puedes aplicar unupdateMask
. Campos disponibles:- Tiempo de vida (TTL):
?updateMask=ttl
- Actualizar todos los campos:
?updateMask=*
- Tiempo de vida (TTL):
Método HTTP y URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl
Cuerpo JSON de la solicitud:
{ "ttl": { "seconds": "1" } }
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/assets/ASSET_ID?updateMask=ttl"
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/assets/ASSET_ID?updateMask=ttl" | 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" }
Quitar un valor de TTL
En este ejemplo se usa ?updateMask=ttl
en la URL de la solicitud y se incluye un cuerpo de solicitud vacío para borrar el valor de TTL del recurso.
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.
?updateMask=fieldToUpdate
: uno de los campos disponibles a los que puedes aplicar unupdateMask
. Campos disponibles:- Tiempo de vida (TTL):
?updateMask=ttl
- Actualizar todos los campos:
?updateMask=*
- Tiempo de vida (TTL):
Método HTTP y URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID?updateMask=ttl
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 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
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/assets/ASSET_ID?updateMask=ttl" | 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" }