Gestionar recursos multimedia

La API Vision Warehouse te permite gestionar recursos de Vision Warehouse mediante la línea de comandos.

Un almacén conectado (corpus) en una aplicación implementada que ingiere datos tiene uno o varios objetos multimedia (por ejemplo, recursos de vídeo). Estos objetos multimedia (recursos asset) contienen metadatos y anotaciones de recursos. Usa los siguientes comandos para gestionar estos objetos multimedia.

Crear un recurso de recurso

REST

Para crear un recurso de tipo 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, como europe-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"
}

Actualizar un recurso

El recurso de actualización solo está disponible para los recursos de vídeo en streaming.

REST

Para actualizar un recurso de tipo asset, envía una solicitud PATCH mediante el método projects.locations.corpora.assets.patch.

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, como europe-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 un updateMask. Campos disponibles:
    • Tiempo de vida (TTL): ?updateMask=ttl
    • Actualizar todos los campos: ?updateMask=*

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"
}

Mostrar los recursos de un almacén

REST

Para enumerar los recursos de un corpus, envía una solicitud GET mediante el método projects.locations.corpora.assets.list.

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, como europe-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.

Método HTTP y URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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

Ejecuta el comando siguiente:

$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

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "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"
    }
  ]
}

Obtener un recurso

REST

Para obtener detalles sobre un recurso, envía una solicitud GET con el método projects.locations.corpora.assets.get.

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, como europe-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:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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

Ejecuta el comando siguiente:

$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

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID",
  "ttl": "86400s"
}

Eliminar recursos multimedia

En el siguiente ejemplo se elimina un recurso de almacén, por lo que las anotaciones relacionadas con él no se podrán consultar y se quitarán de los resultados de búsqueda.

REST Y LÍNEA DE COMANDOS

En el siguiente ejemplo de código se eliminan recursos de un almacén mediante el método projects.locations.corpora.assets.delete.

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, como europe-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:

DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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

Ejecuta el comando siguiente:

$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
La respuesta de esta llamada devuelve un ID de operación de larga duración.
{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/operations/OPERATION_ID"
}

Obtener el estado de la operación

Para obtener el estado de la operación de larga duración, llama al método projects.locations.operations.get.

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, como europe-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.
  • OPERATION_ID: ID de la operación que se devuelve al iniciar una operación de larga duración. Por ejemplo:
    • projects/123456/locations/us-central1/[...]/operations/OPERATION_ID

Método HTTP y URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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

Ejecuta el comando siguiente:

$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
La respuesta está vacía si no hay errores. En este punto, el recurso no aparece si llamas a GetAsset o ListAssets.

Gestión de datos multimedia de recursos

El contenido multimedia de los recursos se puede ingerir en Vision Warehouse a través de diferentes APIs.

Recurso de vídeo en streaming

Para gestionar el contenido multimedia de los recursos de vídeo en streaming, siga las instrucciones que se indican a continuación.

Obtener un recurso de vídeo mediante particiones temporales

Una vez que hayas creado un almacén y hayas almacenado recursos de vídeo asset en él, podrás obtener clips de vídeo específicos. Puedes enviar una ClipAssetRequest para obtener datos multimedia en un intervalo de tiempo que definas.

Cuando envíes un ClipAssetRequest, debes definir lo siguiente:

En el siguiente ejemplo, se considera un almacén que contiene un recurso con imágenes de una cámara de seguridad de principios de septiembre del 2021 que no ha superado su tiempo de vida (TTL).

Para obtener un clip del periodo comprendido entre las 2:51:59 GMT del 1/9/2021 y las 2:52:30 GMT del 1/9/2021, primero debes convertir la hora de inicio y la de finalización a google.protobuf.Timestamp, que se expresa en duración desde la época de Unix. Una vez que hayas convertido las horas de inicio y finalización, puedes enviar una solicitud similar a la siguiente:

REST

Para obtener información sobre un clip de vídeo, envía una solicitud GET mediante el método projects.locations.corpora.assets.clip.

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, como europe-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.
  • START_TIME: hora de inicio de la partición, expresada como duración desde el inicio del registro de tiempo de Unix (por ejemplo, 1630464719).
  • END_TIME: hora de finalización de la partición, expresada como duración desde el inicio del registro de tiempo de Unix (por ejemplo, 1630464750).

Método HTTP y URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:clip

Cuerpo JSON de la solicitud:

{
  "temporal_partition": {
    "start_time": {
      "seconds": START_TIME
    },
    "end_time": {
      "seconds": END_TIME
    }
  }
}

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:clip"

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:clip" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "time_indexed_uris" : {
    "temporal_partition" : {
      "start_time" : {
        "seconds": 1630464719
      },
      "end_time" : {
        "seconds": 1630464729
      }
    },
    "uri": "[...]"
  }
}

Un time_indexed_uris incluye un URI con un enlace al clip obtenido y un temporal_partition con información detallada sobre la hora de inicio y de finalización del clip. Puedes acceder al enlace proporcionado en el campo uri durante un máximo de 12 horas.

El clip devuelto solo mostrará un breve fragmento del primer contenido disponible después de las start_time, pero antes de las end_time. Este contenido puede extenderse más allá de los límites temporales de la solicitud. Por ejemplo, en la solicitud de ejemplo, el clip devuelto solo abarca un clip de 10 segundos que se produce después de 1630464719, aunque puede que haya más contenido que se produzca después de 1630464729 y antes de end_time (1630464750).

El clip devuelto no puede tener exactamente la duración que has solicitado. Este comportamiento es el esperado y puede deberse a varios motivos:

  • El periodo solicitado ha superado el límite de tamaño de datos de 100 MB.
  • El periodo solicitado contiene datos que han superado su tiempo de vida (TTL).
  • El periodo solicitado no tiene datos.

Obtener recursos de clips de vídeo mediante HTTP Live Streaming

Una vez que haya creado un almacén y haya ingerido datos de vídeo (almacén assets) en el almacén, puede solicitar un URI a un archivo de manifiesto de emisión de vídeo HTTP Live Streaming (HLS) para una serie de segmentos de tiempo específicos. Puede enviar una GenerateHlsUriRequest para obtener datos multimedia de una serie de intervalos de tiempo que defina.

Cuando envíes un GenerateHlsUriRequest, debes definir lo siguiente:

  • temporal_partitions: una colección de intervalos de fechas del contenido que quieras reproducir en streaming. La duración total debe ser inferior a 24 horas.

En el siguiente ejemplo, se usa un recurso de almacén con imágenes de una cámara de seguridad de septiembre del 2021 que no ha superado su tiempo de vida (TTL). El cuerpo de la solicitud de ejemplo especifica dos periodos de tiempo de vídeo:

  1. 1/9/2021 2:51:59 GMT a 1/9/2021 2:52:30 GMT
  2. 1/9/2021 4:59:00 GMT a 1/9/2021 5:05:30 GMT

Primero, debes convertir las horas de inicio y de finalización al formato google.protobuf.Timestamp, que se expresa en duración desde la época de Unix. Una vez que hayas convertido estas horas a horas Unix, puedes enviar una solicitud similar a la siguiente:

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, como europe-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.
  • START_TIME: hora de inicio de la partición, expresada como duración desde el inicio del registro de tiempo de Unix (por ejemplo, 1630464719).
  • END_TIME: hora de finalización de la partición, expresada como duración desde el inicio del registro de tiempo de Unix (por ejemplo, 1630464750).

Método HTTP y URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID:generateHlsUri

Cuerpo JSON de la solicitud:

{
  "temporal_partitions": {
    "start_time": {
      "seconds": 1630464719
    },
    "end_time": {
      "seconds": 1630464750
    }
  },
  "temporal_partitions": {
    "start_time": {
      "seconds": 1630472340
    },
    "end_time": {
      "seconds": 1630472730
    }
  }
}

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:generateHlsUri"

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:generateHlsUri" | Select-Object -Expand Content

El uri de la respuesta tiene un enlace para descargar el manifiesto HLS correspondiente a las horas solicitadas, y cada temporal_partitions detalla la hora de inicio y de finalización de los clips incluidos en la emisión. Se puede acceder al enlace proporcionado en el campo uri durante un máximo de 12 horas.

Una respuesta puede incluir varios objetos temporal_partitions. Cada objeto temporal_partitions representa un clip individual dentro del intervalo de tiempo solicitado. Los clips se dividen si el contenido multimedia de origen no contiene datos durante un periodo incluido en el intervalo solicitado o si la solicitud incluye intervalos de fechas no consecutivos. En este ejemplo, se devuelven varios temporal_partitions porque la solicitud pedía datos de dos momentos diferentes del 1/9/2021.

Es posible que la secuencia devuelta no tenga la longitud exacta que has solicitado. Esto es normal y puede deberse a los siguientes motivos:

  • El periodo solicitado contiene datos que han superado su tiempo de vida
  • El periodo solicitado no tiene datos

Respuesta:
{
  "uri": "[...]",
  "temporal_partitions": {
    "start_time": {
      "seconds": 1630464719
    },
    "end_time": {
      "seconds": 1630464750
    }
  },
  "temporal_partitions": {
    "start_time": {
      "seconds": 1630472340
    },
    "end_time": {
      "seconds": 1630472730
    }
  }
}

Ver una emisión en directo por HLS

Puede acceder a una emisión en directo HTTP (HLS) del contenido que se está ingiriendo.

Envía una GenerateHlsUriRequest para obtener un URI a este archivo de manifiesto de la emisión de vídeo HLS, que se actualiza a medida que se ingiere contenido nuevo. La emisión en directo tiene tres minutos de contenido mostrado anteriormente, se detiene cuando se detiene la ingestión y se reinicia para mostrar contenido nuevo. Cuando envíes GenerateHlsUriRequest, define live_view_enabled. Esta opción permite mostrar exclusivamente una emisión en directo del recurso, con hasta tres minutos de datos antiguos. Defínelo como verdadero.

Puedes enviar una solicitud similar a la siguiente:

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, como europe-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:generateHlsUri

Cuerpo JSON de la solicitud:

{
  "live_view_enabled": true
}

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:generateHlsUri"

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:generateHlsUri" | Select-Object -Expand Content

El uri de la respuesta tiene un enlace al manifiesto HLS correspondiente a una lista de contenido que se actualiza constantemente a medida que se ingieren nuevos datos de vídeo. Se puede acceder al enlace proporcionado en el campo uri durante un máximo de 12 horas.

Respuesta:
{
  "uri": "[...]"
}

Recurso de imagen

Puede usar la API UploadAsset para subir la imagen al recurso y procesarla más adelante.

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, como europe-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",
}

Puede usar la API ImportAssets para importar un lote de imágenes y sus anotaciones al corpus.

El archivo de Cloud Storage de la solicitud ImportAsset debe estar en formato JSONL. En el archivo, cada línea corresponde a un recurso y se convertirá en un proto InputImageAsset. Por ejemplo,

{"gcsUri":"gs://test/test1.png","assetId":"asset1","annotations":[{"key":"title","value":{"strValue":"cat"}}]}
{"gcsUri":"gs://test/test2.png","assetId":"asset2","annotations":[{"key":"title","value":{"strValue":"dog"}}]}
{"gcsUri":"gs://test/test3.png","assetId":"asset3","annotations":[{"key":"title","value":{"strValue":"rabbit"}}]}

Solo se puede realizar una operación ImportAsset en un corpus a la vez. Solo se pueden realizar cinco operaciones ImportAsset en el mismo proyecto al mismo tiempo.

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, como europe-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.

Método HTTP y URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets:import

Cuerpo JSON de la solicitud:

{
  "parent": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID,
  "assets_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:import"

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:import" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
}

Una vez que se haya subido un recurso con una imagen o se haya importado con una imagen y anotaciones, puedes analizar todo el corpus para poder buscar todo el contenido de la imagen más adelante.

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, como europe-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.

Método HTTP y URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID:analyze

Cuerpo JSON de la solicitud:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_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: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: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/operations/OPERATION_ID",
}

Recurso de vídeo por lotes

Puedes usar la API UploadAsset para subir el vídeo al recurso y procesarlo más adelante. La API UploadAsset admite formatos de vídeo comunes, como MP4, AVI, FLV, MKV, MOV, MXF y WMV, así como los formatos que puede decodificar FFmpeg.

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, como europe-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",
}

Una vez que se haya subido el recurso con un vídeo, puedes obtener el URI llamando a la API GenerateRetrievalUrl. Si el vídeo subido está en otro proyecto, debes conceder permiso a la cuenta de servicio de Vertex AI Vision. Para acceder a él, ve a Gestión de identidades y accesos, marca la casilla Incluir asignaciones de roles proporcionadas por Google y busca "Agente de servicio de Cloud Vision AI".

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, como europe-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:generateHlsUri

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:generateHlsUri"

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:generateHlsUri" | Select-Object -Expand Content

El uri de la respuesta tiene un enlace al manifiesto HLS correspondiente a una lista de contenido que se actualiza constantemente a medida que se ingieren nuevos datos de vídeo. Se puede acceder al enlace proporcionado en el campo uri durante un máximo de 12 horas.

Respuesta:
{
  "uri": "[...]"
}

Una vez que se haya subido el recurso con un vídeo, puedes analizarlo para buscar contenido en el vídeo más adelante.

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, como europe-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"
}

Gestión de colecciones de recursos

Una colección es un contenedor de referencias (CollectionItems) a recursos originales. Puedes añadir recursos a una colección y buscar en ella.

Crear un recurso de colección

REST

Para crear un recurso de tipo Asset, envía una solicitud POST mediante el método projects.locations.corpora.collections.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, como europe-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.
  • COLLECTION_ID: el ID de la colección de destino.

Método HTTP y URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections

Cuerpo JSON de la solicitud:

{
  "collection": {
    "display_name": "DISPLAY_NAME",
    "description": "COLLECTION_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/collections"

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/collections" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCollectionMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.Collection",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID",
    "displayName": "DISPLAY_NAME",
    "description": "COLLECTION_DESCRIPTION"
  }
}

Actualizar un recurso de colección

REST

Para actualizar un recurso de tipo asset, envía una solicitud PATCH mediante el método projects.locations.corpora.collections.patch.

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, como europe-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.
  • COLLECTION_ID: el ID de la colección de destino.
  • ?updateMask=fieldToUpdate: uno de los campos disponibles a los que puedes aplicar un updateMask. Campos disponibles:
    • Nombre visible: ?updateMask=display_name
    • Descripción: ?updateMask=description
    • Actualizar todos los campos: ?updateMask=*
  • UPDATED_FIELD_VALUE: nuevo valor del campo especificado. En este ejemplo, se muestra un nombre visible proporcionado por el usuario para el recurso de colección.

Método HTTP y URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID?update_mask=display_name

Cuerpo JSON de la solicitud:

{
  "displayName": "UPDATED_FIELD_VALUE",
  "description": "Original 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 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/collections/COLLECTION_ID?update_mask=display_name"

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/collections/COLLECTION_ID?update_mask=display_name" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/corpora/CORPORA_ID/collections/COLLECTION_ID",
  "displayName": "UPDATED_FIELD_VALUE",
  "description": "Original description"
}

Listar colecciones en un almacén

REST

Para enumerar las colecciones de un corpus, envía una solicitud GET mediante el método projects.locations.corpora.collections.list.

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, como europe-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.
  • COLLECTION_ID: el ID de la colección de destino.

Método HTTP y URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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/collections"

PowerShell

Ejecuta el comando siguiente:

$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/collections" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "corpora": [
   {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID1",
      "displayName": "COLLECTION_DISPLAYNAME1",
      "description": "COLLECTION_DESCRIPTION1"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID2",
      "displayName": "COLLECTION_DISPLAYNAME2",
      "description": "COLLECTION_DESCRIPTION2"
    },
  ],
  "nextPageToken": "ChM3MDk3NTk3Nzc2OTk3NDA3OTkzEAo"
}

Obtener una colección

REST

Para obtener información sobre una colección, envía una solicitud GET con el método projects.locations.corpora.collections.get.

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, como europe-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.
  • COLLECTION_ID: el ID de la colección de destino.

Método HTTP y URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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/collections/COLLECTION_ID"

PowerShell

Ejecuta el comando siguiente:

$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/collections/COLLECTION_ID" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID",
  "displayName": "CCOLLECTION_DISPLAYNAME",
  "description": "CCOLLECTION__DESCRIPTION"
}

Eliminar una colección

Elimina la colección con el siguiente código de ejemplo. Para eliminar la colección, primero debes quitar todos sus elementos.

REST Y LÍNEA DE COMANDOS

En el siguiente ejemplo de código se elimina un recurso collection mediante el método projects.locations.corpora.collections.delete.

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, como europe-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.
  • COLLECTION_ID: el ID de la colección de destino.

Método HTTP y URL:

DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el comando siguiente:

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/collections/COLLECTION_ID"

PowerShell

Ejecuta el comando siguiente:

$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/collections/COLLECTION_ID" | Select-Object -Expand Content
La respuesta de esta llamada devuelve un ID de operación de larga duración.
{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID/operations/OPERATION_ID"
}

Añadir un elemento a una colección

Puede añadir un elemento de recurso a la colección.

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, como europe-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.
  • COLLECTION_ID: el ID de la colección de destino.

Método HTTP y URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID:addCollectionItem

Cuerpo JSON de la solicitud:

{
  "item":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "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/collections/COLLECTION_ID:addCollectionItem"

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/collections/COLLECTION_ID:addCollectionItem" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "item":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  }
}

Quitar un elemento de una colección

Puedes quitar un elemento de recurso de la colección.

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, como europe-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.
  • COLLECTION_ID: el ID de la colección 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/collections/COLLECTION_ID:removeCollectionItem

Cuerpo JSON de la solicitud:

{
  "item":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "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/collections/COLLECTION_ID:removeCollectionItem"

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/collections/COLLECTION_ID:removeCollectionItem" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "item":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  }
}

Ver todos los elementos de una colección

Puedes ver todos los elementos de una colección.

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, como europe-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.
  • COLLECTION_ID: el ID de la colección 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/collections/COLLECTION_ID:viewCollectionItems

Cuerpo JSON de la solicitud:

{
  "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
  "page_size": "50"
}

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/collections/COLLECTION_ID:viewCollectionItems"

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/collections/COLLECTION_ID:viewCollectionItems" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "next_page_token": "jfyq45",
  "items":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  },
  "items":  {
    "collection": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/collections/COLLECTION_ID,
    "type": "ASSET",
    "item_resource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID"
  }
}